Jawaban:
tidak ada spasi di antara tanda sama dengan
$ List="abcd 1234 jvm something"
$ set -- $List
$ echo $2
1234
Beberapa cara lain, meski tidak seefisien menggunakan internal 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
set -- $something
perpecahan $something
di $IFS
karakter (dengan spasi default) dan penerima bagian split untuk variabel posisi $1
, $2
...
Hanya untuk melengkapi jawaban ghostdog: Anda juga bisa memasukkan $List
elemen ke dalam array dan mengakses elemen daftar tertentu dari sana
List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}
Perhatikan bahwa indeks array dihitung 0,1,2, ....
Ini memiliki keuntungan tidak mencemari lingkungan shell dengan terlalu banyak variabel baru.
echo
: arr=($List)