我有以下脚本:
echo "User already exists, delete user? [Y/n] "
read -r -n 1 yn
echo "$yn was pressed"
当我运行脚本时:
我希望它不需要我按 [Enter] 两次。
我尝试了不同的变体,包括将提示放入读取命令中,但这更糟糕,因为当时提示从未出现过。
我做错了什么?
读取命令将您的输出写入变量,您只需处理它即可。
read -r -n 1 -p "Y/y" response
case "$response" in
[yY][eE][sS]|[yY])
do_something
;;
*)
do_something_else
;;
esac
我的版本BASH
bash --version
GNU bash, версия 5.2.37(1)-release (x86_64-pc-linux-gnu)