使用stty修改終端設定

zecaro發表於2010-11-02
在linux/unix平臺上的sqlplus中,如果輸錯了字元,要想刪除,習慣性的按下backspace鍵後,發現非但沒有刪除想要刪掉的字元,還多出了兩個字元^H。當然,我們可以同時按下ctrl+backspace鍵來刪除,但對於習慣了用backspace來刪除的使用者,這樣很不爽。這可以透過修改tty終端的設定來實現backspace刪除功能。透過使用stty命令,就可以檢視或者修改終端的按鍵設定。 例如,設定backspace為刪除鍵: [oracle10g@linux]$ stty erase ^h 如果要改回使用ctrl+backspace為刪除鍵 [oracle10g@linux]$ stty erase ^? 如果需要重啟後自動設定終端,可以將上述命令加入到profile中。 可以透過stty -a命令來檢視所有的終端設定。下面是在linux下執行的輸出: [oracle10g@linux]$ stty -a speed 38400 baud; rows 66; columns 132; line = 0; intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ; eol2 = ; 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當前程式。
連結:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23650854/viewspace-677215/,如需轉載,請註明出處,否則將追究法律責任。

相關文章