1行ずつ読み取り、入力した行をターミナルに出力する非常に単純なスクリプトを実行しています。
while read CMD; do
echo $CMD
done
正常に動作しますが、backspace
文字を含む行を編集しようとすると、文字^?
を削除する代わりに印刷されます。Ctrl
+ を押すとbackspace
、出力はになり^H
ます。この動作を修正してbackspace
、これらの文字を追加する代わりに文字を削除するにはどうすればよいですか?stty erase '^?'
コマンドを試しましたが、うまくいきませんでした。
read CMD
でread -e CMD
。
terminator
代わりに試してくださいgnome-terminal
。期待どおりに機能
-e
ます。このスクリプトの場合でも、オプションのない質問からは常に最後の文字が削除されます。しかし、@ vrom911のマシンではそうではありません。なぜそれが起こるのか、これをどこで設定できるのかと思います。