pas d'espace entre le signe égal
$ List="abcd 1234 jvm something"
$ set -- $List
$ echo $2
1234
D'autres moyens, bien que moins efficaces que l'utilisation des composants internes du shell
$ 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
Juste pour compléter la réponse de ghostdog :vous pouvez également mettre $List
dans un tableau et accédez à l'élément de liste spécifique à partir de là
List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}
Notez que les indices du tableau sont comptés 0,1,2,... .
Cela a l'avantage de ne pas polluer l'environnement du shell avec trop de nouvelles variables.