GNU/Linux >> Belajar Linux >  >> Linux

Apa tujuan dari cd ` (backtick)?

Apa yang Anda ketikkan adalah backtick - ini adalah awal dari instruksi bash untuk mengevaluasi apa yang Anda ketikkan sebagai perintah. > ditampilkan untuk menunjukkan bahwa Anda masih memasukkan perintah pada baris berikutnya.

Jika Anda menutup backtick, Anda akan menemukan seluruh perintah akan berjalan. Mis.

~$ cd `
> echo /var`
/var$

Jawaban JohnC sudah menjelaskan backtick. Tapi yang juga membuat Anda bertanya-tanya adalah > mengingatkan. Ini adalah prompt lanjutan, dan tidak hanya dipicu oleh backtick, tetapi selalu ketika shell Anda dengan jelas tahu Anda belum selesai memasukkan perintah. Contoh termudah adalah menempatkan kelanjutan garis eksplisit \ di akhir baris masukan (yang membantu membagi masukan panjang):

$ echo \
> hallo

Perhatikan bahwa seperti PS1 mengontrol tampilan prompt perintah, Anda juga dapat menyetel PS2 untuk mengubah petunjuk kelanjutan, mis.

$ export PS2="(cont.) "
$ echo \
(cont.) hallo

Ada banyak alasan untuk kelanjutan terjadi. Satu backtick tidak lengkap, tetapi Anda juga bisa memasukkan sesuatu seperti

ls -l `which cp`

dalam satu baris (catatan tambahan:Disarankan untuk menggunakan $( dan ) sebaliknya, karena tanda kurung memperjelas di mana ekspansi dimulai dan diakhiri, sementara backtick tunggal membuatnya lebih sulit untuk melihat di mana ada yang hilang. Dan bersarang...). Kemungkinan alasan lain untuk permintaan lanjutan:

  • done yang hilang setelah while atau for
  • fi yang hilang setelah if
  • esac yang hilang setelah case
  • tanda kurung tutup yang hilang, mis. dalam subkulit (cd $HOME; cat .bashrc)
  • perintah yang hilang setelah menyalurkan | serta eksekusi bersyarat || dan && (bukan & meskipun, karena itu hanya membuat perintah berjalan di latar belakang)
  • kutipan penutup yang hilang (' atau " )

Anehnya, penjepit } hilang setelah perluasan variabel ${ juga menyebabkan permintaan lanjutan, tetapi akan gagal karena ruang yang disisipkan:

$ echo ${
> PS2}
bash: ${
PS2}: bad substitution

Artinya perintah Anda belum selesai. Bahkan, karakter backtick, ` , digunakan untuk membatasi perintah sebaris.

Contoh:

cd /tmp # Go to /tmp
pwd # Prints the current working  directory
ls `pwd` # Lists the content of the current working directory

Linux
  1. Tujuan Perintah 'instal'?

  2. Tujuan Perintah Hash?

  3. Apa tujuan dari file utmp, wtmp dan btmp di Linux?

  1. Apa perintah pohon di Ubuntu?

  2. Apa perintah ekspor yang seharusnya dilakukan di Linux?

  3. Apa gunanya perintah hostnamectl?

  1. Apa tujuan dari pengguna "mysql.sys@localhost"?

  2. Apa utilitas baris perintah DNS terbalik?

  3. Apa tujuan dari direktori setgid?