私の.bashrc
ファイルからカスタムエスケープシーケンスをコントロールシーケンスにキーバインドしようとしています。
私が持っているのは、
bind -x '"\eJD0C": "^C"'
プロセスの実行をキャンセルするシェル制御シーケンスを実行しないことです。それでこれを行う方法はありますか?まだ不可能ですか?できない場合は、どのような代替策を検討する必要がありますか?^C
答え1
これはシェル制御の順序ではありません。
これは特殊文字、認められたライン規律そんなとき標準入力モード。
次の3つがあなたには良くありません。
- ライン規律ここではないBourne Again シェルが GNU Readline ライブラリを使用して入力行を対話形式で読み取る場合の正式モードです。非正規モードにあり、線規則に対するすべての特殊文字認識がオフになります。
- GNU Readlineライブラリは、Bourne Againシェルが特定のタスクを実行するときに入力を担当しません。外の入力行をインタラクティブに読み、Readlineライブラリのマッピング設定はこの時点では関係ありません。。シェルが子プロセスの終了を待っている間に特殊文字を入力すると、これは行規則に従って処理されます。
- 行規則は、端末が編集キーとファンクションキーをエンコードするために使用する複数の文字シーケンスではない単一の文字のみを特殊文字として認識します。特殊文字を設定するための端末APIは単一文字でのみ機能します。