GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Bash Tidak Menyimpan Perintah yang Dimulai Dengan Spasi?

Jika saya melakukan urutan perintah seperti:

$ ls
$   grep abc file.txt

dan kemudian gunakan tombol panah atas untuk mendapatkan yang sebelumnya, terminal akan menampilkan cmd terakhir (yaitu grep di sini)

Tetapi jika saya melakukan sesuatu seperti ini:

$ ls
$   grep abc file.txt

di mana grep didahului oleh spasi, menekan ke atas memberikan ls , bukan grep .

Mengapa ini?

Jawaban yang Diterima:

echo $HISTCONTROL
ignoreboth

pria bash:

HISTCONTROL

Daftar nilai yang dipisahkan titik dua yang mengontrol cara perintah disimpan di daftar riwayat. Jika daftar nilai menyertakan ignorespace , baris yang dimulai dengan karakter spasi tidak disimpan dalam daftar riwayat. Nilai ignoredups menyebabkan baris yang cocok dengan entri riwayat sebelumnya tidak disimpan. Nilai ignoreboth adalah singkatan dari ignorespace dan ignoredups .


Linux
  1. Mengapa Substitusi Proses Bash Tidak Bekerja Dengan Beberapa Perintah?

  2. Bagaimana Cara Grep Garis Yang Tidak Dimulai Dengan "#" Atau ";"?

  3. Mengapa Grep -o -w Tidak Memberi Saya Output yang Diharapkan Pada Mac Os X?

  1. Mengapa keluar kode 141 dengan grep -q?

  2. Mengapa polling tidak diganti dengan epoll?

  3. mengapa menghapus sejarah bash tidak cukup?

  1. Perintah Rm Dalam Skrip Bash Tidak Bekerja Dengan Variabel?

  2. Bagaimana Cara Mengeluarkan File &Mengabaikan Baris Yang Dimulai Dengan "?"?

  3. Mengapa Saya Tidak Dapat Keluar dari Spasi Pada Skrip Bash??