我试图在我的脚本中写入输入Y / y或等待10秒(没有按下任何键)的选项,否则终止脚本。例如,如果我正在运行脚本,我输入Y / y就可以了。如果在等待10秒钟时没有输入任何内容,它也应该工作。
到目前为止,我使用了Y / y并等待了10秒钟,但是如果没有按下按键,它就会终止。我知道这是由于我的情况,但如果没有按任何键来正常继续脚本,我也不知道如何捕获该选项。
到目前为止我的代码:
read -t 10 "Enter Y/y or wait 10 seconds!" -n 1 -r REPLY
case $REPLY in
[yY])
echo "correct";;
*)
echo "Terminating";;
esac
感谢:)
答案 0 :(得分:0)
如果您希望默认值为N,请使用:
read -t 10 "Enter Y/y or wait 10 seconds!" -n 1 -r REPLY
case ${REPLY:-N} in
[yY])
echo "correct";;
*)
echo "Terminating";;
esac
如果您希望默认值为“Y”,请使用:
read -t 10 "Enter Y/y or wait 10 seconds!" -n 1 -r REPLY
case ${REPLY:-Y} in
[yY])
echo "correct";;
*)
echo "Terminating";;
esac
此代码使用$REPLY
的默认值。如果$REPLY
未设置或为空,则在第一个版本中替换为“N”,在第二个版本中替换为“Y”。