Почему «if tty -s» работает, а «if [tty -s]» нет?

Fecha / Hora :Fecha en que ocurrió una notificación.

0
13.06.2019, 22:42
1 ответ

Квадратные скобки после ifне являются синтаксисом оболочки, который может быть опущен или нет, в зависимости от стилистических предпочтений, это отдельная команда,test. (Связанная справочная страница описывает внешнюю команду test/ [, но многие оболочки предоставляют собственную реализацию.)

Письмо

if [ tty -s ];

эквивалентно написанию

if test tty -s;

, а так как test/ [не имеет оператора tty, он терпит неудачу.

За

ifследует команда, которую она запускает, и код выхода этой команды определяет, какая ветвь берется после if:, если она равна 0, берется ветвь then, в противном случае ветвь else(, если есть ).

5
28.01.2020, 02:15

Теги

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