Split + glob kullanabilirsiniz (liste bağlamında bir genişletmeyi sıralanmamış bıraktığınızda ne olur). Çoğu zaman yolumuza giriyor, aslında ihtiyacımız olduğunda kullanmamak utanç verici olurdu:
IFS=,
set -o noglob
ARR=($VAR) # split+glob with glob disabled, and split using , as delimiter
Bu, geçici bir dosya yazmaktan daha az kıvrımlıdır ve daha sonra yaklaşımdaki readarraygibi readarray <<< "$string"çağrılır (ayrıca readarray -dçok yeni bir sürümüne ihtiyaç duyduğunu unutmayın bash).
Not rağmen o Siçinde IFS(açılımı ayırıcı ), aynı şekilde çalışır readarrayki a,,b,içine bölünmüş olup "a", ""ve "b"sadece.
Gerçek bir bölme operatörü için şunları kullanabilirsiniz zsh:
ARR=("${(@s:,:)VAR}")
( @ve boş öğeleri korumak için çift tırnak).
"What is the meaning of the latest $ symbol?"