¿Cómo puedo conectar el stdout de múltiples comandos a un solo comando?Pipetear varios comandos en un solo comando
Ejemplo 1: combinar y ordenar la salida de todos los tres comandos de eco:
echo zzz; echo aaa; echo kkk
salida deseada:
aaa
kkk
zzz
Ejemplo 2: reescribir la siguiente para que todos los comandos están en un solo línea de comando usando tuberías, sin redirecciones a un archivo temporal:
setopt > /tmp/foo; unsetopt >> /tmp/foo; set >> /tmp/foo; sort /tmp/foo
+1. También puede usar llaves que no engendren una subcamada. La sintaxis es un poco más estricta: '{setopt; unsetopt; conjunto; } | ordenar | less': se requiere el espacio en blanco alrededor de las llaves y el punto y coma final. –
@glenn: eso no importa (probado en bash 3.2.48), ya que la canalización lo fuerza a una subshell de todos modos. –
Se debe tener en cuenta que '$' es la solicitud, no es parte del comando – Gilly