回答:
等号の間にスペースがない
$ List="abcd 1234 jvm something"
$ set -- $List
$ echo $2
1234
シェルの内部を使用するほど効率的ではありませんが、いくつかの他の方法
$ echo $List | cut -d" " -f2
1234
$ echo $List | awk '{print $2}'
1234
$ echo $List | sed 's/^.[^ \t]* //;s/ .*//'
1234
$ echo $List | tr " " "\n"|sed -n '2p'
1234
set -- $something
分割$something
で$IFS
(デフォルトスペースで)文字と位置変数に分割された部品を割り当て$1
、$2
...、
ghostdogの答えを補うために:$List
の要素を配列に入れて、そこから特定のリスト要素にアクセスすることもできます
List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}
配列インデックスは0,1,2、...としてカウントされることに注意してください。
これには、シェル環境をあまりにも多くの新しい変数で汚染しないという利点があります。
echo
: arr=($List)