Uruchom polecenie tylko wtedy, gdy poprzednie polecenie zakończyło się pomyślnie w Fish (jak && w bash)

16

Używając Basha często robiłem takie rzeczy, jak cd /study && ls -la rozumiem, że podwójny znak i mówi terminalowi, że nie wykonuje drugiej części tego polecenia, chyba że pierwsza kończy się bez błędów.

Moje pytanie brzmi: po przeniesieniu się do powłoki ryby i wypróbowaniu tego samego polecenia pojawia się błąd informujący, że nie mogę użyć, &&i instruujący mnie, aby użyć jednego, &który moim zdaniem stanowi tło zadania, które nie jest tym, czego chcę.

Czy ktoś może mi powiedzieć poprawną składnię, aby uruchomić moje stare polecenie Bash w powłoce Fish?

Nataniel
źródło

Odpowiedzi:

21

Zamiast &&, który nie istnieje fish, użyj ;i polecenia and:

cd /study; and ls -la

Zgodnie z fishsamouczkiem :

W przeciwieństwie do innych powłok, fishnie ma specjalnej składni, takiej jak &&lub ||do łączenia poleceń. Zamiast tego ma komendy and, ororaz not.

Dan Getz
źródło