Execute um comando apenas se o comando anterior tiver sido bem-sucedido no Fish (como && no bash)

16

Usando o Bash, muitas vezes fiz coisas como cd /study && ls -la eu entendo que o duplo e comercial indica ao terminal que não execute a parte dois deste comando, a menos que a parte um seja concluída sem erros.

Minha pergunta é: Tendo acabado de migrar para o shell Fish e tentando o mesmo comando, recebo um erro informando que não posso usar &&e instruindo-me a usar um single &que, acredito, seja o segundo plano da tarefa que não é o que eu quero.

Alguém pode me dizer a sintaxe correta para executar meu antigo comando Bash no shell Fish?

Nathaniel
fonte

Respostas:

20

Em vez de &&, que não existe fish, use ;e o comando and:

cd /study; and ls -la

De acordo com o fishtutorial :

Ao contrário de outros shells, fishnão possui sintaxe especial como &&ou ||para combinar comandos. Em vez disso, tem comandos and, ore not.

Dan Getz
fonte