Los comandos && y || [Unix]

Desde hace ya un tiempo estamos acostumbrados a usar el comando && ,el cual,puede ser utilizado entre varios comandos diferentes y se lee:
Si el comando1 es correcto (estado de salida cero) se ejecutarà a continuación el comando2.

Ejemplo:
comando1 && comando2

Ahora,el comando || harà lo opuesto.Si el estado de salida del comando1 es falso (no cero),el comando2 serà ejecutado de todas manera.

Ejemplo:
comando1 || comando2

En este blog se ha utilizado mucho el comando && pero muy poco ||.Un simple ejemplo de como utilizar ambos comandos serìa:

sudo apt-get install htop && sudo rmmod pcspkr

Como ejemplo para el comando || he ejecutado un comando incorrecto (cd desktop*) seguido por uno correcto (ls)

cd desktop || ls

De esta manera veremos claramente como se ejecuta el comando correcto (2°) a pesar de que el primer comando nos da un output (no cero):

nico@nico-laptop:~$ cd desktop || ls
bash: cd: desktop: No such file or directory
31480-lil-polar.tar.gz       googleearth
Commands                     google-earth
Desktop                      gtkrc
Dropbox                      opera_10.00.4440.gcc4.qt3_i386.deb
fauna_1.zip                  _PANIC__by_ABRES.jpg
fauna_1.zip.gpg              sheelex.png
gimpfx-foundry-2.6-1.tar.gz
nico@nico-laptop:~$

Si cambiamos || por && en el comando anterior ($ cd desktop && ls) obtendriamos el output siguiente:

nico@nico-laptop:~$ cd desktop && ls
bash: cd: desktop: No such file or directory

*Comando correcto: cd Desktop

7 thoughts on “Los comandos && y || [Unix]

  1. sinuser 24/07/2009 / 11:57

    En esta línea:

    sudo apt-get install htop && sudo rmmod pcspkr

    hace falta el segundo sudo?

    Like

  2. Oyster 24/07/2009 / 16:08

    Gracias!
    Excelente blog!
    Uno de mis favoritos, por supuesto.

    Like

  3. Simbad 24/07/2009 / 21:59

    wow, esto me cayo perfecto. Tengo un alias en el .bashrc para “sudo apt-get update && sudo apt-get upgrade -y” pero desde hace unos dos o tres días el repositorio de Opera no funciona y me dice que no puede encontrarlo y tengo q poner sudo apt-get upgrade manualmente después de eso, estaba pensando como saltar el error.

    Cambiare el alias de una vez. por cierto alguien mas ha tenido problemas con el repositorio de opera?

    Like

  4. NovakTiño 08/02/2016 / 19:34

    Hola. Si alguien me lee, ya que este post es antiguo.
    Deseo que se ejecuten 2 comandos y se muestre el resultado de ambos en misma pantalla.
    Ej: muestre temperatura de procesador y de disco duro, y en ambas se actualice con el comando ‘watch -n’ (diferentes tiempos de espera en cada uno).
    Es decir, ¿unir esto con éxito?:

    watch -n 05 sensors
    sudo watch -n 30 hddtemp /dev/sda ->(en este me pedirá contraseña de usuario).

    Like

Leave a comment