Запускайте команду, только если предыдущая команда была успешной в Fish (например, && в bash)

16

Используя Bash, я часто делал вещи, вроде того, что cd /study && ls -la я понимаю, что двойной амперсанд говорит терминалу, что не выполняйте вторую часть этой команды, пока первая часть не завершится без ошибок.

Мой вопрос заключается в том, что, переместившись в оболочку Fish и выполнив ту же команду, я получаю сообщение об ошибке, в котором не могу использовать, &&и указание использовать один, &который, как я считаю, служит фоном для задачи, а не для того, чего я хочу.

Может кто-нибудь сказать мне правильный синтаксис для запуска моей старой команды Bash в оболочке Fish?

Натаниель
источник

Ответы:

21

Вместо того &&, что не существует в fish, используйте ;и команду and:

cd /study; and ls -la

Согласно в fishучебнике :

В отличие от других оболочек, fishне имеет специального синтаксиса, например &&или ||для объединения команд. Вместо этого есть команды and, orи not.

Дэн Гетц
источник