91

В Bash/ZSH и других оболочках я привык использовать && и || ,

Есть ли в рыбе эквивалент?

2 ответа2

128

У Fish нет специального синтаксиса для логического И (&&) или логического ИЛИ (||).

Вместо этого вы можете использовать команды and и or , которые проверяют состояние выхода предыдущей команды и действуют соответственно:

command1
and command2
command1
or command2

Кроме того, как и в bash, вы можете использовать точку с запятой ; выполнить две команды одну за другой:

command1 ; command2

Это позволяет использовать более знакомый синтаксис:

command1 ;and command2
command1 ;or command2

См. Http://fishshell.com/docs/current/tutorial.html#tut_combiners

9

Логические операторы, к которым вы привыкли, поддерживаются начиная с fish 3.0.0, выпущенного 2018-12-28.

Из примечаний к выпуску v3:

  • рыба теперь поддерживает && (вроде and), || (вроде or) и ! (вроде not), для лучшей миграции с POSIX-совместимых оболочек (# 4620).

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