GNU/Linux >> Belajar Linux >  >> Linux

Apa Perbedaan Get Command Output Menggunakan`command`dan $(command) Di Shell??

Pertanyaan ini sudah memiliki jawaban di sini :Apa perbedaan antara $(stuff) dan `stuff`?

(6 jawaban)
Tutup 7 tahun yang lalu.

Apa perbedaan mengumpulkan output perintah dalam skrip Shell menggunakan `command` dan $(command)? Misalnya:

# IP1=$(ifconfig eth0 | grep -e "inet " | cut -d: -f2 | awk '{print $1}')
# IP2=`ifconfig eth0 | grep -e "inet " | cut -d: -f2 | awk '{print $1}'`
# echo $IP1 $IP2
> 192.241.145.112 192.241.145.112

Jawaban yang Diterima:

Perbedaan utamanya adalah backtick tidak bersarang:Anda tidak dapat menyematkan satu perintah backtick di dalam yang lain. (Sebenarnya Anda bisa, tetapi Anda perlu melakukan backslash-escape mereka, dan itu menjadi lebih berbulu dari sana.) Itu, saya percaya, motivasi utama untuk datang dengan sintaks yang lebih baru $(command) .

$(command) sintaks juga menyediakan pintasan yang nyaman untuk menginterpolasi konten file:$(<filename) setara dengan $(cat filename) .

Perbedaan lain:$() tidak didukung oleh beberapa shell umum.


Linux
  1. Diurutkan dengan sort di baris perintah

  2. Alias ​​baris perintah di Linux Shell

  3. Bagaimana Cara Menetapkan Output Perintah Ke Variabel Shell?

  1. Menyimpan Output Perintah Dalam Variabel Shell?

  2. Apa Perbedaan Antara Sudo Su – Dan Sudo Su —?

  3. Output Dari Perintah "terakhir"?

  1. Bagaimana cara menambahkan output ke file?

  2. Dapatkan baris pertama dari keluaran perintah shell

  3. Perbedaan antara '{}' dan {} dalam perintah find?