![Shell脚本读取问题](https://linux22.com/image/1121003/Shell%E8%84%9A%E6%9C%AC%E8%AF%BB%E5%8F%96%E9%97%AE%E9%A2%98.png)
我正在尝试创建一个带有read
命令的 shell 脚本,这样当我运行该脚本时,它会向用户询问是或否的问题。如果用户输入yes
,脚本将继续,如果她输入,no
脚本将停止。
read
以这种方式使用命令的语法是什么?
我正在运行 Ubuntu 13.04。
答案1
该命令可能会为您提供更好的服务select
,它允许用户选择向他们呈现的选项。
#!/usr/bin/env bash
echo "Are you sure?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) exit;;
esac
done
# Add whatever you want to do if the user answered "yes" here
如果用户回答“否”,脚本将退出,而不会执行脚本下面的代码。
使用的唯一缺点select
是选项是使用数字选择的。因此,由于我们有两个选项,用户无法输入“是”,他们必须输入“1”等。
答案2
一次性解决所有 bash 编程问题:http://www.tldp.org/guides.html- 找到“高级 Bash 脚本指南”。
它包含很多例子,非常容易阅读;-) - 我在使用 bash 时有时会遇到一些停顿,因此我把它当作一本字典。
另外:bash 内置:s like read 有帮助可用,如
帮助阅读
然后,简单回答你的问题:
echo -n "Y/N - 是或否:" && read -N 1 ans && echo -e "\r$(tput el)您说的是$ans。"
tput-从 terminfo 数据库打印项目。更多信息请参见“man terminfo”。