为什么我无法在 zsh 中设置 IFS?

为什么我无法在 zsh 中设置 IFS?

我在 zsh 上。这里发生了什么...?

答案1

问题不是你不能设置IFS,而是在 zsh 中(与 bash 不同),不带引号的变量扩展不受“split + glob”(分词和文件名生成)的影响。因此,整个$a被分配给 的第一个元素b(即$b[1],因为 zsh 中数组从 1 开始索引 - 再次与 bash 不同)。

要获得类似 bash 的行为,您可以设置 zsh 的shell 选项,或者使用代替 plainshwordsplit显式地进行变量扩展字分割。$=a$a

有关更细致的解释,请参阅什么是分词?为什么它在 shell 编程中很重要?

相关内容