¿Por que al ejecutarse: <code>cd jdsad || touch archivo.txt || echo &quot;archivo creado&quot;</code> no se ejecuta el comando echo?

Jesus Esteban Galindo

Jesus Esteban Galindo

Pregunta
student
hace 4 años

¿Por que al ejecutarse:

cd jdsad || touch archivo.txt || echo "archivo creado"
no se ejecuta el comando echo?

4 respuestas
para escribir tu comentario
    Jesus Esteban Galindo

    Jesus Esteban Galindo

    student
    hace 4 años

    La respuesta es que el operador || (or) ejecuta el primer comando y como la salida es un error entonces bash lo entiende como un false y luego ejecutara el siguiente comando y como para el siguiente comando bash no encuentra un error( pues el archivo se crea correctamente) entonces lo toma como un true y eso ya es suficiente para terminar toda la instruccion y no ejecutarse el tercer comando. Si lo que queremos es que se ejecute el segundo y tercer comando teniendo en cuenta que el primero nos dara un error entonces lo que debemos hacer es cambiar el operador || (or) por el operador && (and) quedando de esta manera:

    cd jsdad || touch archivo.txt && echo "Archivo creado"

    Daniel Alejandro Romero

    Daniel Alejandro Romero

    student
    hace 4 años

    @jesusestebangalindo que interesante que tu yo del futuro te respondió

    Jesús David García Cuello

    Jesús David García Cuello

    student
    hace 3 años

    Uff, Platzi despierta superpoderes, uno, por ejemplo, el del viaje en el tiempo. ¡En hora buena tocayo!

Curso de Terminal y Línea de Comandos

Curso de Terminal y Línea de Comandos

Aprende a utilizar la terminal y la línea de comandos para navegar tu sistema operativo, manipular archivos y directorios, comprender permisos y procesos, y usar herramientas como grep y curl. Integra alias y personaliza tu shell para optimizar tu flujo de trabajo.

Curso de Terminal y Línea de Comandos
Curso de Terminal y Línea de Comandos

Curso de Terminal y Línea de Comandos

Aprende a utilizar la terminal y la línea de comandos para navegar tu sistema operativo, manipular archivos y directorios, comprender permisos y procesos, y usar herramientas como grep y curl. Integra alias y personaliza tu shell para optimizar tu flujo de trabajo.