Değişken genişletmeyi ayrılmadan bıraktığınızda, örneğin $VotePedroaş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
IFSdeğ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, IFSjoker 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