IFS =: «установить $ var» против «установить toto: fofo» - PullRequest
0 голосов
/ 25 сентября 2019

Это, вероятно, глупый вопрос, но я пытаюсь понять, почему работает версия 1 приведенного ниже кода, а версия 2:

версия 1:

$ VAR=toto:fofo:bar
$ IFS=:
$ set $VAR
$ echo $1
toto

версия 2:

$ IFS=:
$ set toto:fofo:bar
$ echo $1
toto fofo bar

Я не понимаю, почему в первой версии ':' интерпретируются как разделитель, но во второй они вообще не интерпретируются, как если бы они интерпретировались, только если они являются выходными даннымиподстановки переменных?

1 Ответ

1 голос
/ 25 сентября 2019

Ты прав.Разделение слов относится только к результату раскрытия параметров без кавычек и подстановок команд.Это не влияет на синтаксический анализ или грамматику.

Вот man bash с акцентом:

IFS

Разделитель внутренних полей, который используется для разделения слов после расширения [...]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...