zshでIFSを設定できないのはなぜですか?

zshでIFSを設定できないのはなぜですか?

私はzshにいます。ここで何が起こっているのでしょうか…?

答え1

問題は設定できないということではなく、IFSzshでは(bashとは異なり)引用されていない変数拡張が「split + glob」(単語の分割とファイル名の生成)の影響を受けないことです。したがって、全体が$a最初の要素に割り当てられますb(つまり$b[1]、zshの配列はbashとは異なり、1からインデックスが付けられるためです)。

shwordsplitBashと同様の動作を得るには、zshのシェルオプションを設定するか、明示的な変数拡張単語分割の代わりに一般を使用できます。$=a$a

より微妙な説明については、以下を参照してください。噴射とは何ですか?シェルプログラミングでは、なぜこれが重要なのでしょうか?

関連情報