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 – Penggunaan Tcp_defer_accept di dunia nyata?
Bagaimana Sebuah Script Shell Menghindari Sigpipe Yang Akan Disebabkan Oleh Penggunaan Deskriptor File Tertutup?