私はユーザー入力を読み取る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