在linux/unix平台上的 sqlplus中,如果輸錯了字符,要想刪除,習慣性的按下backspace鍵后,發現非但沒有刪除想要刪掉的字符,還多出了兩個字符^H。當然,我們 可以同時按下ctrl+backspace鍵來刪除,但對於習慣了用backspace來刪除的用戶,這樣很不爽。這可以通過修改tty終端的設置來實現 backspace刪除功能。通過使用stty命令,就可以查看或者修改終端的按鍵設置。
例如,設置backspace為刪除鍵:
如果要改回使用ctrl+backspace為刪除鍵
如果需要重啟后自動設置終端,可以將上述命令加入到profile中。
可以通過stty -a命令來查看所有的終端設置。下面是在linux下執行的輸出:
speed 38400 baud; rows 66; columns 132; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
其中:
- eof : 輸入結束
- erase : 向后刪除字符,
- intr : 中斷當前程序
- kill : 刪除整條命令
- quit :退出當前程序
- start : 啟動屏幕輸出
- stop :停止屏幕輸出;
- susp : terminal stop當前程序。
-------------------
下面是我的.bashrc下面的相關設置
# Terminal-related commands, tput, tset, stty, etc should not be
# executed by vuelogin or dtlogin. These login environments set $VUE
# and $DT accordingly.
#
if [ ! "$VUE" -a ! "$DT" ]; then
# Terminal specific commands...
#tty -s && stty intr ^c susp ^z kill ^X erase ^h quit ^\\ eof ^d
tty -s && stty intr ^c susp ^z kill ^X erase ^? quit ^\\ eof ^d
符部分其他用法:
1. stty size 打印終端行數和列數
2,在命令行下禁止輸出小寫
stty olcuc #開啟
stty -olcuc#恢復
3,打印出終端的行數和列數
stty size
4,改變ctrl+D的方法:
stty eof "string"
系統默認是ctrl+D來表示文件的結束,而通過這種方法,可以改變!
5,屏蔽顯示
stty -echo #禁止回顯
stty echo #打開回顯
測試方法:
stty -echo;read;stty echo;read
6,忽略回車符
stty igncr #開啟
stty -igncr#恢復
7 .利用它設置我們的串口打印操作信息。
stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb -echo
解釋:通過stty設置/dev/ttyS0串口, 波特率為115200 ,數據位cs8,奇偶校驗位-parenb,停止位-cstopb,同時-echo禁止終端回顯。
二:用法
1. stty size 打印終端行數和列數
2,在命令行下禁止輸出小寫
stty olcuc #開啟
stty -olcuc#恢復
3,打印出終端的行數和列數
stty size
4,改變ctrl+D的方法:
stty eof "string"
系統默認是ctrl+D來表示文件的結束,而通過這種方法,可以改變!
5,屏蔽顯示
stty -echo #禁止回顯
stty echo #打開回顯
測試方法:
stty -echo;read;stty echo;read
6,忽略回車符
stty igncr #開啟
stty -igncr#恢復
7 .利用它設置我們的串口打印操作信息。
stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb -echo
解釋:通過stty設置/dev/ttyS0串口, 波特率為115200 ,數據位cs8,奇偶校驗位-parenb,停止位-cstopb,同時-echo禁止終端回顯。