GNU/Linux >> Belajar Linux >  >> Linux

Cara meneruskan output perintah sebagai beberapa argumen ke perintah lain

Solusi 1:

Anda dapat menggunakan xargs , dengan -t bendera xargs akan bertele-tele dan mencetak perintah yang dijalankannya:

./command1 | xargs -t -n1 command2

-n1 mendefinisikan argumen maksimum yang diteruskan ke setiap panggilan command2 . Ini akan mengeksekusi:

command2 word1
command2 word2
command2 word3

Jika Anda menginginkan semua sebagai argumen dari satu panggilan command2 gunakan itu:

./command1 | xargs -t command2

Itu memanggil perintah2 dengan 3 argumen:

command2 word1 word2 word3

Solusi 2:

Anda ingin 'substitusi perintah', yaitu:sematkan output dari satu perintah di tempat lain

command2 $(command1)

Secara tradisional ini juga dapat dilakukan sebagai:

command2 `command1`

tetapi penggunaan ini biasanya tidak disarankan, karena Anda tidak dapat membuat sarangnya.

Misalnya:

test.sh:
#!/bin/bash
echo a b c

test2.sh

#!/bin/bash
echo $2

GUNAKAN:

./test2.sh $(./test.sh)
b

Linux
  1. Bagaimana Cara Menetapkan Output Perintah Ke Variabel Shell?

  2. Lewati Argumen Baris Perintah ke Skrip Bash?

  3. Bagaimana Melewati Output Dari Satu Perintah Sebagai Argumen ke Yang Lain?

  1. Cara Menetapkan Output dari Perintah Linux ke Variabel

  2. Cara Menyimpan Output Perintah ke File di Linux

  3. Bagaimana cara meneruskan argumen ke skrip yang dipanggil oleh perintah sumber?

  1. Cara Melewati Kata Sandi ke Perintah SCP di Linux

  2. Bagaimana Cara Melewati Parameter Ke Alias?

  3. Bagaimana cara menambahkan output ke file?