Тернарный оператор (? :) в Bash

Это очень хорошо, что компилятор C ++ не делает этого. Один из худших аспектов JavaScript - это точка с запятой. Представьте себе это:

return
  (a + b);

Компилятор C ++ с радостью продолжит следующую строку, как и ожидалось, в то время как язык, который «вставляет» точки с запятой, как JavaScript, будет обрабатывать его как «return»; и пропустить "(a + b);".

Вместо того чтобы полагаться на исправление ошибок в компиляторе, используйте привычку использовать точки с запятой.

381
задан codeforester 1 September 2018 в 09:10
поделиться

1 ответ

Это во многом как прекрасный ответ Vladimir . Если Вашим "троичным" является случай "если это правда, строка, если ложь, пустая", затем можно просто сделать:

$ c="it was five"
$ b=3
$ a="$([[ $b -eq 5 ]] && echo "$c")"
$ echo $a

$ b=5
$ a="$([[ $b -eq 5 ]] && echo "$c")"
$ echo $a
it was five
0
ответ дан 22 November 2019 в 23:55
поделиться
Другие вопросы по тегам:

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