stty -aの出力を理解し、Ctrlバックスペースをバックスペースのみに変更します。

stty -aの出力を理解し、Ctrlバックスペースをバックスペースのみに変更します。

私はbashシェルで作業しています。ソラリス環境では、「バックスペース」を入力するたびに行全体が消去されます。

行全体を1文字で消去するバックスペースキーを変更する提案はありますか?これが意図された動作ですか?

stty -aローカルコマンドの出力を解釈する方法シグウィン環境:

$ stty -a <br/>
speed 38400 baud; rows 34; columns 125; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = ^Z; 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 -tostop echoctl echoke

ベストアンサー1

あなたの質問によると、cygwinを使用してSolarisシステムにアクセスしているとします。

stty -a端末の現在の設定をすべて表示します。私はそれぞれに対処しません。しかし、それぞれの機能が何であるかはわかります。マニュアルページ

しかし、あなたの質問があることは特に注目に値しますerase = ^?;^?~であるASCII制御文字DEL(削除)について。あなたが望むのは(バックスペース)の制御文字ですBS

コマンドラインから次のように入力できます。

stty erase ^H

^Hしかし、それ以外の制御文字であることに注意してください^H。だから私はあなたが次のように入力したと思います。

Ctrl+vbackspace

^Hこれは画面に印刷する必要があります。

これにより、動作がbackspace必要に応じて変更されます。しかし、現在のセッション中のみ持続します。

~によるとこのOracleブログ/kernel/drv/options.conf、次の行を開き、設定を永久に変更できます。

ttymodes="2502:1805:bd:8a3b:3:1c:7f:15:4:0:0:0:11:13:1a:19:12:f:17:16";

7f変更を永続的に8再マップします。これを適用するには再起動が必要です。backspaceDELBS

おすすめ記事