rlwrap に問題があります (こちらのマニュアルページを参照してください)。次の状況を考慮してください:empty.tcl
は空のファイルです。この行をbashで
tclsh empty.tcl &
バックグラウンドでジョブを実行して終了するため、このプロンプトが表示されます
[1]+ Done tclsh empty.tcl
.
この行が
rlwrap tclsh empty.tcl &
バックグラウンドでジョブを実行し、終了しないため、このプロンプトが表示されます
[1]+ Stopped rlwrap tclsh empty.tcl
.
対応するジョブがバックグラウンドでハングします。私の質問は、ハングするのではなくジョブを終了させる方法ですか?
rlwrap は、指定されたコマンドを実行し、readline の行編集、永続的な履歴、および補完を提供するためにユーザー入力をインターセプトする Linux ユーティリティ コマンドです。そこに記載されているように、rlwrap の主なプロパティは、command と rlwrap command の違いに気付かないはずですが、上記で説明したように、このプロパティは保持されません。
たぶん、期待どおりに機能する rlwrap の代替案を提案できますか?