追加読書

追加読書

bashシェルのように、シェルを終了するためにkshでキーをマッピングする方法Ctrlを知りたいです。D

kshのキーバインディングに慣れていません。

編集する

以下の私のコメントをご覧ください。

$ echo $0
bash
$ exit    # I pressed Ctrl-D here, 'exit' string was placed and the shell exited

$> echo $0
ksh
$> Use 'exit' to leave ksh  # I pressed Ctrl-D here, Got this message and returned to the ksh prompt
$> echo $0
ksh
$> cat >> somefile
Some text
$>   # I pressed Ctrl-D here. So this key combination is taken as eof char for file, but not for exit.

もしそうなら、シェルを終了するにはマッピングが必要ですかCtrlDどうすればいいですか?

ベストアンサー1

Ctrl+ D(ASCII EOTすでにマニュアルページの説明に従って、モードviemacsモードでシェルをシャットダウンするようにマッピングします。ksh93スクリプトのキャプチャを見ると、これは明らかな事実です。

マニュアルページはまた、他の人がここで言及した内容、つまり行が空のときだけキーがこの効果を持つことを説明します。 (これはクッキングモードでのライントレーニングの標準的な動作を模倣します。)

あなたが見逃したのは、(マンページでも説明されている)対応するignoreeofオプションを設定したことです。したがって、Korn Shellは空白行でCtrl+を表示Dおよび無視し、ignoreeof設定が開いているときにそのコマンドを明示的に使用する必要があることを示すメッセージを印刷しますexit

したがって、stty他の答えと同様に、ハンドラを忘れてキャプチャします。

set -o noignoreeof

追加読書

おすすめ記事