GNU/Linux >> Znalost Linux >  >> Linux

Jak předat výstup příkazu jako několik argumentů jinému příkazu

Ř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

Linux
  1. Jak předat parametry aliasu?

  2. Jak připojit výstup do souboru?

  3. Výstup příkazu Linux jako parametr jiného příkazu

  1. Jak mohu předat všechny argumenty s xargs uprostřed příkazu v linuxu

  2. Jak převést výstup z grep do cp?

  3. Jak předat výstup příkazu jako více argumentů jinému příkazu

  1. Jak přiřadit výstup příkazu Linux k proměnné

  2. Jak uložit výstup příkazu do souboru v Linuxu

  3. Jak předat heslo příkazu SCP v Linuxu