5

Bash リスト (スペースで区切られた文字列) があり、そこから最初の文字列を抽出したいだけです。

例:

 VAR="aaa bbb ccc" -> I need "aaa"
 VAR="xxx" -> I need "xxx"

forbreakを使用する以外のトリックはありますか?

4

5 に答える 5

7

この形式を試してください:

echo "${VAR%% *}"

別の方法は次のとおりです。

read FIRST __ <<< "$VAR"
echo "$FIRST"
于 2013-08-28T11:16:33.103 に答える
7

使用カット:

echo $VAR | cut --delimiter " " --fields 1  # Number after fields is the 
                                            # index of pattern you are retrieving
于 2013-08-28T11:23:34.070 に答える
6

配列が必要な場合は、配列を使用してください。;)

VAR=(aaa bbb ccc)
echo ${VAR[0]} # -> aaa
echo ${VAR[1]} # -> bbb
于 2013-08-28T11:35:30.033 に答える
5

これがどれほど標準的かはわかりませんが、これは Bash 4.1.11 で動作します

NewVAR=($VAR)
echo $NewVAR
于 2013-08-28T11:32:37.570 に答える
1

現時点で、Linux と OS X の両方で機能する唯一のソリューションは次のとおりです。

 IP="1 2 3"
 for IP in $IP:
 do
   break
 done
于 2013-08-28T11:30:43.453 に答える