Что означает $ {2: - $ {1}} в Bash? - PullRequest
12 голосов
/ 22 июля 2009

Что именно делает следующий фрагмент кода bash? $ {2: - $ {1}}

Ответы [ 4 ]

18 голосов
/ 22 июля 2009

«Использовать второй аргумент, но если его нет, то первый».

11 голосов
/ 22 июля 2009

${var:-default} оценивается как значение $var, если $var не установлено, и в этом случае оно оценивается как текст "default". $1, $2 и др. - аргументы командной строки вашей программы (или функции). Соединение этих двух значений означает возвращение $2, если передано два аргумента, в противном случае возвращает $1.

2 голосов
/ 29 июля 2009

Это означает «Использовать второй аргумент, если первый не определен или пуст, иначе использовать первый». Форма "$ {2 - $ {1}}" (без ':') означает "Используйте второе, если первое не определено (но если первое определено как пустое, используйте его)".

0 голосов
/ 22 июля 2009

Он дает значение $ {2}, если оно определено, или значение по умолчанию $ {1} http://jaduks.livejournal.com/7934.html

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