Değişken genişletmeyi ayrılmadan bıraktığınızda, örneğin $VotePedro
aşağıdaki adımlar gerçekleştirilir:
- Değişkenin değerini arayın.
- Boşluğun her bloğundaki değeri bir dize listesine bölün. Daha genel olarak, ayırıcılar
IFS
değişkenin değerindeki karakterlerdir ; varsayılan olarak boşluk, sekme ve yeni satırdır.
- Listenin her öğesini bir joker karakter deseni olarak yorumlayın; her öğe için, desen bazı dosyalarla eşleşiyorsa, o öğeyi eşleşen dosya adları listesiyle değiştirin.
Böylece, IFS
joker karakter genişletmeyi kapatarak ve değeri tırnak işaretleri dışında bir dize olan bir değişkeni genişleterek bir dizeyi boşlukla sınırlandırılmış öğelere bölebilirsiniz (varsayılan değerini varsayarak ).
VotePedro="Vote for Pedro"
set -f
votePedroArray=($VotePedro)
set +f
for i in "${votePedroArray[@]}"; do …
Ayrımı doğrudan kullanım noktasında yapabilirsiniz; bu, dizileri olmayan sh gibi kabuklarda bile işe yarar:
VotePedro="Vote for Pedro"
set -f
for i in ${votePedro}; do
set +f
…
done
set +f