BashからEOFを再マッピングする(ctrl + D)

BashからEOFを再マッピングする(ctrl + D)

bashシェルにある場合、stty設定方法のためにCtrl+と入力するとaがD送信され、コマンドとほぼ同じ操作が実行され、シェルが終了します。EOFbashexit

bash受信時に終了せずに、代わりEOFに私が選択した他のコマンドを実行するように一時的に再マップする方法があるかどうか疑問に思います。


私の動機はPython virtualenvsを使用することですvirutalenvwrapperworkon foovirtualenvに入り、deactivatevirtualenvを離れます。

場合によってはdeactivate、クリーンアップ操作で機能しますが、CtrlI + の場合はDそのステップをスキップします。

これを行うことができればCtrlDA)実行deactivateし、virtualenvを終了し(そして再び+を再マッピングCtrl)、シェルを続行できます。または(B)実行してからシェルを終了しますが、そうすることをお勧めします。掃除をしてください。Dexitdeactivateexit

答え1

EXITシェルの終了時に実行される特定のコマンド/関数をキャプチャできます。

trap deactivate EXIT

deactivateシェルを終了する前に実行されます。

バラよりhttp://redsymbol.net/articles/bash-exit-traps/より多くの例を学びましょう。

関連情報