У меня проблемы с установкой переменной IFS в Bash. Я использую Mac OS X 10.11.2 El Capitan и iTerm2. То же самое произошло и в готовом приложении Terminal.

Что могло быть причиной этого?

enter image description here

ОБНОВЛЕНИЕ : вот скриншот того же самого в отдельных строках. Я думал, что добавление команды hexdump в конвейер ясно покажет, что она не работает должным образом, но, возможно, нет. Я все еще новичок в Bash.

enter image description here

1
Trevor Sullivan 29 Дек 2015 в 22:20

2 ответа

Лучший ответ

Вы пытаетесь установить IFS в той же строке, что и ваше эхо. Сделайте это в отдельной строке, как вы это сделали с Name. Кроме того, поскольку IFS - это символы, которые вы объявляете пробелами, вам потребуются кавычки в команде echo:

IFS=','
echo "$IFS"
5
Stephen Gildea 29 Дек 2015 в 19:36

Если вы установите его в собственной команде, он будет работать нормально:

$ IFS=, ; echo $IFS
,

Лучше всего делать это в подоболочке или в скрипте, так как таким образом вы не потеряете исходную настройку в своей рабочей оболочке:

$ ( IFS=, ; echo $IFS )
,
1
Steve Vinoski 31 Дек 2015 в 13:15