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.
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/