Bash Y / N提示同时接受ENTER键

时间:2017-05-17 14:22:10

标签: linux bash prompt user-interaction

我正在尝试在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”的情况下。

1 个答案:

答案 0 :(得分:2)

case语句中,您可以测试这样的空字符串:

        "") echo "Enter Key"; break;;