GNU/Linux >> Belajar Linux >  >> Linux

Mengapa `echo Abc^h` Tidak Hanya Mencetak `ab`?

Seingat saya, ^H artinya Backspace . Saya membuatnya dengan menekan CTRL+V , CTRL+H .

Jadi ^H harus menghapus karakter terakhir, karena sama dengan Backspace dan itu akan bertindak seperti jika saya menekan Backspace di posisi ini.

Mengapa output dari echo abc^H tetap abc dan bukan ab ?

Jawaban yang Diterima:

spasi mundur hanya menggerakkan kursor ke belakang.

spasi mundur (atau hapus atau karakter apa pun tergantung pada konfigurasi) menghapus karakter yang dicetak terakhir hanya jika kondisi ini terpenuhi:

  • diketik di keyboard, bukan output perintah seperti echo dalam contoh Anda
  • perangkat terminal dalam mode matang (kasus biasa)

Jika Anda ingin menghapus c dalam contoh Anda, Anda perlu menimpanya dengan karakter lain, misalnya:

echo "abc^H "

Linux
  1. Cara membaca hanya satu karakter dalam skrip shell

  2. Linux:Mencetak rentang karakter tertentu di setiap baris

  3. Mengapa Anda tidak bisa menambahkan CD Audio seperti CD data biasa?

  1. Mengapa The Tilde (~) Tidak Memperluas Di Dalam Kutipan Ganda?

  2. Mengapa Skrip Bash Tidak Mengenal Alias?

  3. Mengapa ~/.bash_profile Tidak Berfungsi?

  1. Pam_unix2 / Mengapa Tidak Ada Di Beberapa Distribusi?

  2. Mengapa Lsdel Di Debugfs Tidak Berfungsi?

  3. Linux – Mengapa Direktori Root Dilambangkan Dengan A / Sign?