无法在Mac OS X上的Bash中设置/更新IFS变量

时间:2015-12-29 19:20:17

标签: macos bash

我在Bash中设置IFS变量时遇到问题。我正在运行Mac OS X 10.11.2 El Capitan并且正在使用iTerm2。现在,在开箱即用的终端应用程序中也出现了相同的行为。

可能导致这种情况的原因是什么?

enter image description here

更新:以下是单独行中相同内容的屏幕截图。我认为将hexdump命令添加到管道中会清楚地表明它没有正常工作,但也许没有。我对Bash来说还是个新手。

enter image description here

2 个答案:

答案 0 :(得分:4)

您正尝试将IFS设置为与回声相同的行。与Name一样,在单独的行上执行此操作。此外,由于IFS是您声明为空格的字符,因此您需要echo命令中的引号:

IFS=','
echo "$IFS"

答案 1 :(得分:1)

如果你在自己的命令中设置它,它可以正常工作:

$ IFS=, ; echo $IFS
,

最好不要在子shell或脚本中执行此操作,因为这样您就不会丢失工作shell中的原始设置:

$ ( IFS=, ; echo $IFS )
,