问题:在一个Shell脚本中,我想要停止输入,并且提示用户选择。标准的是‘Yes,No或Cancel’ 典型问题。我怎样实现这个典型的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命令不需要清理输入框...它提示你输入你的选择,并且你输入一个你想要的一个数字。select自动的循环...如果它们给予一个无效的输入,这里不需要一个‘while true’循环。
转载于:https://blog.51cto.com/shouhouzhe/1376809