Terminal: diferencias a la hora de enlazar comandos

En ocasiones necesitarás ejecutar varios comandos seguidos para que se realice una tarea. Por ejemplo, quieres hacer unas modificaciones que dependen del Finder o del Dock y para ello, una vez introducidos los comandos con nuevas especificaciones o preferencias tienes que reiniciar alguna de las correspondientes aplicaciones.
Para enlazar la ejecución de dos comandos se utiliza & que permite realizar esta acción. También es posible utilizar ; para realizar esta acción.

¿Cuál es la diferencia entre ambas opciones? Con & se ejecutará el primer comando y solo si este ha tenido éxito (devuelve status 0, cero) entonces se ejecuta el segundo comando. Con ; se ejecuta el segundo comando independientemente del resultado del primero.

0 0 votos
Article Rating
Subscribe
Notify of
1 Comment
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
rodolfo@pilas.guru
rodolfo@pilas.guru
8 years ago

Este, creo que no es exacto el artículo.

Para enlazar dos comandos y que se ejecute el segundo solo si el primero es exitoso se utiliza *&&* (dos símbolos &)

Para enlazar dos comandos y que se ejecute el segundo solo cuando el primero da error se utiliza *||*

Para enlazar comandos y que se ejecuten sucesivamente se utiliza *;* como correctamente se indica en el artículo.

El simbolo *&* (un solo &) se utiliza para que el comando se ejecute en /background/

1
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x