keine Leerzeichen zwischen Gleichheitszeichen
$ List="abcd 1234 jvm something"
$ set -- $List
$ echo $2
1234
Einige andere Möglichkeiten, wenn auch nicht so effizient wie die Verwendung der Interna der 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
Nur um die Antwort von Ghostdog zu ergänzen:Sie könnten auch $List
eingeben 's-Elemente in ein Array und greife von dort auf das spezifische Listenelement zu
List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}
Beachten Sie, dass die Array-Indizes mit 0,1,2,... .
gezählt werdenDies hat den Vorteil, dass die Shell-Umgebung nicht mit zu vielen neuen Variablen belastet wird.