GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Wildcard * Diinterpretasikan Sebagai Perintah?

Saya tahu caranya * diinterpretasikan dalam perintah seperti ls Misalnya. Tetapi ketika mencoba menjalankan * sebagai perintah, shell mencoba mengeksekusi file atau direktori pertama di direktori kerja Anda. Kenapa ini? Bagaimana shell memahami * ?

Jawaban yang Diterima:

Tidak seperti di beberapa sistem operasi lain, di Unix, shelllah yang memperluas wildcard nama file. Ini memperluas ekspansi parameter dan gumpalan terlebih dahulu, kemudian menggunakan kata pertama (sekarang) sebagai nama untuk menjalankan perintah.

Ini juga mengapa file yang diberi nama dengan tanda hubung di awal dapat menjadi masalah:gumpalan seperti * akan diperluas ke nama file, dan nama yang dimulai dengan tanda hubung dapat diambil sebagai opsi. (Contoh menakutkannya adalah file bernama -r di direktori kerja akan membuat rm * hapus semuanya secara rekursif…)

Biasanya, seseorang tidak akan menggunakan * sebagai item pertama pada baris perintah apa pun, jadi memiliki file pertama yang menentukan perintah yang akan dijalankan dalam kasus itu tidak akan menimbulkan masalah.


Linux
  1. Cara menggunakan perintah grep Linux

  2. Bagaimana cara menggunakan perintah nama dasar?

  3. Bagaimana Menghentikan Perintah Temukan Setelah Pertandingan Pertama?

  1. Cara menggunakan perintah history di Linux

  2. Bagaimana perintah oc debug bekerja di OpenShift

  3. Bagaimana Cara Kerja Perintah Tee??

  1. Bagaimana Tanda Kurung Diinterpretasikan Pada Baris Perintah?

  2. Bagaimana cara cepat mengubah kata pertama dalam perintah Bash?

  3. Bagaimana cara menangkap alamat IP pertama dari perintah ifconfig?