La siguiente entrada es un ‘tip’ que me sirve personalmente como recordatorio, seguro que a más de uno le vendrá bien.
Aquí van las variantes a la hora de concatenar comandos en linux, algo muy básico pero que, como todo, si no se práctica se olvida.
Con | hace que la salida del primero se convierta en la entrada del segundo.
[root@server ~]# cmd1 | cmd2
Con & hará que los dos (o más) comandos se ejecuten de manera simultanea.
[root@server ~]# cmd1 & cmd2
Con || El segundo comando se ejecutará si el primero termina sin éxito.
[root@server ~]# cmd1 || cmd2
Con && El segundo comando se ejecutará solo si el primero termina con éxito.
Ejemplo:
[root@server ~]# cmd1 && cmd2
Con ; El segundo comando se ejecutará sin importar el resultado del primero.
Ejemplo:
[root@server ~]# cmd1 ; cmd2
Claro conciso y con estructura y letra que no despistan del tema.
Muchas gracias Diamiá, me alegro de que te haya servido, de eso se trata.
Un saludo
Una pregunta, los comandos deben estar en la misma línea o pueden estar en la siguiente línea?, Ej:
comando_1 &&
comando_2
es lo mismo que comando_1 && comando_2 ??
Gracias.
Hola Carles, muchas gracias por tu comentario.
¿Cómo insertarías ese salto de línea?. Ten en cuenta que INTRO es = a EJECUTAR comando. Otra cosa es que quieras hacerlo en un script. Dime, ¿qué necesitas hacer?
Saludos.
Una pregunta que pena, si hago un script.sh en donde cada comando arroja la letra (Y) para confirmar,coo lo hago posible ? es decir que cada comando le da una opcion al usuario y hasta que no se ejecute dicha confirmación, no se ejecute todo — gracias y por cierto excelente pagina
Gracias por el comentario.
No sé si te he entendido bien, lo que quieres ¿es lo siguiente?
«pregunta a usuario (yes or no)
si respuesta si entonces lanzo comando 1
si respuesta no entonces exit
pregunta a usuario (yes or no)
si respuesta si entonces lanzo comando 2
si respuesta no entonces exit»
¿O bien lo que necesitas es esto?
«pregunta a usuario (yes or no)
si respuesta si entonces lanzo comando 1, 2…n
si respuesta no entonces exit»
Gracias!