Bash

在 bash 命令行上使用 BackSpace 擦除字元

  • March 5, 2020

我有 bash 和配置文件的配置,但是我將該文件複製到其他伺服器,所以現在我不能僅通過按退格鍵來擦除文本,我需要按 Shift + Backspace 來擦除文本。

我需要更改什麼參數才能恢復它?

通常(取決於您使用的特定係統的約定*backspace*),密鑰發送 ASCII BS ( ^H) 和 DEL ( ^?)

當您使用移位修飾符時,某些終端仿真器會在 ASCII BS ( ^H) 和 DEL ( )之間切換。^?有些沒有。顯然您用於 ssh 的程序沒有。

鑑於您的這一行.profile

stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z"

看來您的終端通常會發送^?(ASCII DEL),但您告訴它期待^H(ASCII BS)。但是,當您使用該鍵進行^H修改時,您的終端會切換到。你可以用*backspace*``*shift*

stty erase "^?" kill "^U" intr "^C" eof "^D" susp "^Z"

並取得了更好的成績。

引用自:https://unix.stackexchange.com/questions/340185