Bash
僅在 bash 的互動模式下禁用終端操作設置
我想綁定
C^w
到 中的非預設操作bash
,但它需要werase
在終端中禁用。不幸的是,這會影響 bash 啟動的其他程序,尤其是我的 ssh 會話:當我在那裡鍵入時C^w
,它會 echoes^W
。有沒有辦法僅在 bash 的互動模式下啟用某些非預設終端設置,並在執行命令時自動禁用/恢復它?
有一個 readline 選項可以阻止它佔用目前的 stty 設置。添加到您的
~/.inputrc
set bind-tty-special-chars Off
然後你就可以
Control-w
隨心所欲地綁定了。互動式地,您可以嘗試:$ bind 'set bind-tty-special-chars Off' $ bind -ps | grep C-w "\C-w": unix-word-rubout $ bind -x '"\C-w": date'
然後鍵入字元執行
date
命令,但 stty 設置不受影響。