我想在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] 举报,一经查实,本站将立刻删除。