15 may 2012

Concatenar comandos en linux

Concatenar comandos:

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.

[root@server ~]# cmd1 && cmd2

Con ; El segundo comando se ejecutará sin importar el resultado del primero.

[root@server ~]# cmd1 ; cmd2

3 comentarios:

  1. Hay alguna manera de concatenar dos salidas y tirarlas a un tercero? algo asi como esto.
    ssh root@ip tail -f log & ssh root@otraip tail -f otroLog | logstalgia -

    ResponderEliminar
    Respuestas
    1. No entiendo muy bien cual es tu intención, ¿ver dos log al mismo tiempo y ambos en tiempo real?
      No se si funcionará, pero cuando quieres lanzar el resultado de un comando contra algo, se hace con > si no me equivoco.
      por lo que puedes probar algo así como
      ssh root@ip tail -f log & ssh root@otraip tail -f otroLog > logstalgia -

      Eliminar
  2. utilice de esta forma #gpg -o /home/ubuntu/test.gpg -c | tar zcvf /home/ubuntu/Document/test/*
    y aparece error

    ResponderEliminar