Solución 1:
Puedes usar xargs
, con el -t
bandera xargs
será detallado e imprimirá los comandos que ejecuta:
./command1 | xargs -t -n1 command2
-n1
define los argumentos máximos pasados a cada llamada de command2
. Esto ejecutará:
command2 word1
command2 word2
command2 word3
Si quiere todo como argumento de una llamada de command2
usa eso:
./command1 | xargs -t command2
Eso llama a command2 con 3 argumentos:
command2 word1 word2 word3
Solución 2:
Desea 'sustitución de comando', es decir:incrustar la salida de un comando en otro
command2 $(command1)
Tradicionalmente, esto también se puede hacer como:
command2 `command1`
pero este uso normalmente no se recomienda, ya que no se pueden anidar.
Por ejemplo:
test.sh:
#!/bin/bash
echo a b c
prueba2.sh
#!/bin/bash
echo $2
UTILIZAR:
./test2.sh $(./test.sh)
b