Ejecute un comando solo si el comando anterior fue exitoso en Fish (como && en bash)

16

Usando Bash, a menudo he hecho cosas como cd /study && ls -la que entiendo que el doble ampersand le dice al terminal que no ejecute la segunda parte de este comando a menos que la primera parte se complete sin errores.

Mi pregunta es, después de haberme mudado al shell de Fish e intentar el mismo comando, aparece un error que indica que no puedo usar &&y me indica que use uno &que creo que es el origen de la tarea que no es lo que quiero.

¿Alguien puede decirme la sintaxis correcta para ejecutar mi antiguo comando Bash en el shell Fish?

Nathaniel
fuente

Respuestas:

21

En lugar de &&, que no existe en fish, use ;y el comando and:

cd /study; and ls -la

De acuerdo con el fishtutorial :

A diferencia de otros shells, fishno tiene una sintaxis especial como &&o ||para combinar comandos. En cambio, tiene comandos and, ory not.

Dan Getz
fuente