В Bash/ZSH и других оболочках я привык использовать &&
и ||
,
Есть ли в рыбе эквивалент?
У 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
Логические операторы, к которым вы привыкли, поддерживаются начиная с fish 3.0.0, выпущенного 2018-12-28.
- рыба теперь поддерживает
&&
(вродеand
),||
(вродеor
) и!
(вродеnot
), для лучшей миграции с POSIX-совместимых оболочек (# 4620).