1

Bash оценивает логические операторы так, что && всегда имеет приоритет. Так, например:

false || echo 1 && echo 2
1
2

а также

true || echo 1 && echo 2
2

Хорошо. Допустим, я хочу, чтобы вывод был таким:

false || (echo 1 && echo 2)

Но без вызова подоболочки.

Единственное решение, которое я мог придумать, это:

false || if true; then echo 1; echo 2; fi
1
2

Есть ли какой-нибудь более чистый способ, похожий на круглые скобки в C, сгруппировать команды без необходимости вызывать подоболочку?

1 ответ1

2
false || { echo 1 && echo 2; }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .