Yanıtlar:
eşit işaret arasında boşluk yok
$ List="abcd 1234 jvm something"
$ set -- $List
$ echo $2
1234
Diğer bazı yollar, kabuğun içindekileri kullanmak kadar verimli olmasa da
$ 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 -- $somethingbölünme $somethingde $IFSpozisyonel değişkenlere (varsayılan boşluk) karakteri ve atar bölünmüş parçaları $1, $2...
Sadece ghostdog'un cevabını desteklemek için: $Listelemanlarını bir diziye koyabilir ve oradaki belirli liste elemanına erişebilirsiniz.
List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}
Dizi indekslerinin 0,1,2, ... sayıldığını unutmayın.
Bu, kabuk ortamını çok fazla yeni değişkenle kirletmeme avantajına sahiptir.
echo: arr=($List)