我正在尝试在 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”大小写的行上。
最佳答案
在您的 case
语句中,您可以像这样测试空字符串:
"") echo "Enter Key"; break;;
关于linux - Bash Y/N 提示也接受 ENTER 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44027552/