GNU/Linux >> Belajar Linux >  >> Linux

Apa Arti `(backquote/backtick) Dalam Perintah?

Saya menemukan perintah berikut:

sudo chown `id -u` /somedir

dan saya bertanya-tanya:apa arti dari ` simbol. Saya perhatikan misalnya bahwa sementara perintah di atas berfungsi dengan baik, yang di bawah ini tidak:

sudo chown 'id -u' /somedir

Jawaban yang Diterima:

Ini adalah backtick . Tanda kutip bukan tanda kutip. Ini memiliki arti yang sangat istimewa. Semua yang Anda ketik di antara backticks dievaluasi (dieksekusi) oleh shell sebelum perintah utama (seperti chown dalam contoh Anda), dan keluaran dari eksekusi itu digunakan oleh perintah itu, sama seperti jika Anda mengetik output itu di tempat itu di baris perintah.

Jadi, apa

sudo chown `id -u` /somedir

berjalan secara efektif (bergantung pada ID pengguna Anda ) adalah:

sudo chown 1000 /somedir
                
                 `-- the second argument to "chown" (target directory)
             `-- your user ID, which is the output of "id -u" command
         `-- "chown" command (change ownership of file/directory)
      `-- the "run as root" command; everything after this is run with root privileges

Lihat pertanyaan ini untuk mempelajari mengapa, dalam banyak situasi, menggunakan backtick bukanlah ide yang baik.

Btw, jika Anda ingin menggunakan backtick secara harfiah, mis. dalam sebuah string, Anda dapat menghindarinya dengan menempatkan garis miring terbalik ( ) sebelumnya.


Linux
  1. Apa Artinya "rm Di-Hash"?

  2. Apa arti peringatan ini?

  3. Apa arti rc dalam file dot

  1. Apa Artinya “–” (tanda hubung ganda)?

  2. Bagaimana jika [[ $? -ne 0 ]]; berarti dalam .ksh

  3. Apa arti simbol panah (->) pada baris perintah?

  1. Apa Arti `chown Root.root $file`?

  2. Apa. ~/.bashrc Perintah Lakukan??

  3. Apa arti nilai simbol dari perintah nm?