Řešení 1:
Můžete použít xargs
, s -t
příznak xargs
bude podrobný a vypíše příkazy, které provádí:
./command1 | xargs -t -n1 command2
-n1
definuje maximální počet argumentů předávaných každému volání command2
. Tím se provede:
command2 word1
command2 word2
command2 word3
Pokud chcete vše jako argument jednoho volání command2
použijte to:
./command1 | xargs -t command2
To volá command2 se 3 argumenty:
command2 word1 word2 word3
Řešení 2:
Chcete 'náhradu příkazů', tj.:vložit výstup jednoho příkazu do druhého
command2 $(command1)
Tradičně to lze provést také takto:
command2 `command1`
ale toto použití se normálně nedoporučuje, protože je nemůžete vnořit.
Například:
test.sh:
#!/bin/bash
echo a b c
test2.sh
#!/bin/bash
echo $2
POUŽITÍ:
./test2.sh $(./test.sh)
b
Očekávejte odeslání chyby skriptu:ID spawnu exp4 se při provádění neotevře
Jak vyprázdnit mezipaměť DNS resolveru v Linuxu (a FreeBSD)