等号の間にスペースを入れないでください
$ 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
ゴーストドッグの答えを補足するために、 $List
を置くこともできます の要素を配列に入れ、そこから特定のリスト要素にアクセスします
List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}
配列インデックスは 0、1、2、... とカウントされることに注意してください。
これには、あまりにも多くの新しい変数でシェル環境を汚染しないという利点があります。