微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Linux shell脚本中提示是/否/取消输入?

我想在shell脚本中暂停输入,并提示用户进行选择.标准的“是,否或取消”类型问题.如何在典型的bash提示符中完成此操作?

解决方法:

在shell提示符下获取用户输入的最简单且最广泛可用的方法read命令.说明其用法的最佳方式是一个简单的演示:

while true; do
    read -p "Do you wish to install this program?" yn
    case $yn in
        [Yy]* ) make install; break;;
        [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
done

Steven Huwig指出的另一种方法是Bash的select命令.以下是使用select的相同示例:

echo "Do you wish to install this program?"
select yn in "Yes" "No"; do
    case $yn in
        Yes ) make install; break;;
        No ) exit;;
    esac
done

使用select,您无需清理输入 – 它会显示可用选项,并键入与您选择的数字相对应的数字.它也会自动循环,因此如果它们提供无效输入,则无需重试.

另外,请查看F. Hauri的excellent answer.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐