kshでキーボードバッファを消去する方法は?

kshでキーボードバッファを消去する方法は?

私はユーザー入力を読み取るKornシェルスクリプトを書いています。 「読み取り」コマンドを呼び出す前にキーボードバッファをクリアして、ユーザーが早急に入力して問題を引き起こさないようにしたいと思います。この台本の対象読者はまさに私自身だという点を付け加えたいです。

ベストアンサー1

この試み

read -t 1 garbage;
echo "Are you sure?"
read input

case $input in
    y*|Y*)
        echo "You said yes!"
        ;;
    *)
        echo "You said no!"
        exit 1
        ;;
esac

編集:私はこれがループに入れることができる最初の行だけを削除することに気づきました。

while read -t 1 garbage; do
  sleep 0
done

echo "Are you sure?"
read input

case $input in
    y*|Y*)
        echo "You said yes!"
        ;;
    *)
        echo "You said no!"
        exit 1
        ;;
esac

おすすめ記事