入力から1文字を読み取るbashスクリプトを書いています。私はを使用してそうしread -n 1 -sます。-n 1単一の文字のみを読み取ることです。-sは「サイレント」モードで、入力した文字は表示されません。
問題は、現在実行されているコマンドが実行されていない場合read(bashスクリプトの他のコマンドが実行されている場合)、その文字が端末に表示されることです。
これは、ターミナルでのプログラムの通常の動作です。これを無効にするには、通常、たとえばtermiosライブラリを使用してエコーモードを無効にします。
どうすればbashスクリプトでこれを達成できますか?
私は純粋なbash/Unixコマンドのソリューションを好みます(python、perlなどの他のスクリプト言語は使用しません)。