我正在尝试在bash中创建一个Y / n提示符,如果按下ENTER键执行脚本。到目前为止,我已经创建了脚本,只接受是/否答案,只阅读第一个字母,忽略其余部分:
while true; do
read -p "Do you wish to remove this directory [Y/n]? " rmv
rmv=${rmv,,} # lower the letters in the rmv variable
case $rmv in
[y]* ) echo "YES"; break;;
#[] ) echo "Enter Key"; break;;
[n]* ) echo "NO"; exit;;
* ) echo "Please answer yes or no! ";; # repeat until valid answer
esac
done
想法是在Y / y / yes / YES的情况下或输入脚本执行某些命令,如果No / N / n / no断开循环并且在无效答案的情况下提出问题再次。我当时认为最好用OR“||”在行“Y”的情况下。
答案 0 :(得分:2)
在case
语句中,您可以测试这样的空字符串:
"") echo "Enter Key"; break;;