Сценарий оболочки преждевременно завершает работу по неясным причинам

За инструкцией while следует команда, с помощью которой оценивается код возврата, чтобы определить, следует ли выполнять цикл или нет. Он продолжается, если возвращаемое значение равно 0 .

Обращение к неинициализированной переменной идентично ее инициализации с помощью "".

Поскольку запуск пустой команды не вызывает ошибки, он возвращает соответствующий код возврата ( 0 ):

$ foo=''
$ $foo
$ echo $?
0

Это нормальное поведение, поскольку в противном случае оболочка выдает ошибку каждый раз, когда вы нажимаете Enter без ввода что-нибудь.

Обратите внимание, что это отличается от указания пустой строки, которую оболочка определяет как проблему:

$ ''
-bash: : command not found
$ echo $?
127
1
17.09.2016, 01:30
0 ответов

Теги

Похожие вопросы