Установка переменной оболочки в ноль слияния


20

Я действительно люблю "объединение нулей", где вы можете установить переменную на первое "ненулевое" значение в списке вещей. Многие языки поддерживают это, например:

C #:

String myStr = string1 ?? string2 ?? "default";

JavaScript:

var myStr = string1 || string2 || "default";

...и т.д. Мне просто любопытно, можно ли это сделать в Bash для установки переменной?

псевдо:

MY_STR=$ENV{VAR_NAME}??$ANOTHER_VAR??"default";

Ответы:


29

bashЭквивалент оболочки POSIX (включая ) будет:

${FOO:-${BAR:-default}}

Смотрите также:

${FOO-${BAR-default}}

вариант, который проверяет, установлена ​​ли переменная или нет, вместо того, разрешается ли она в виде пустой строки или нет (что имеет значение в случаях, когда переменная установлена, но пуста).


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.