我有一个shell脚本,我想询问用户是否要继续。如果他们输入“N”并按回车键,脚本就会退出。
如果他们按“y”并输入,它将继续运行。我在我的脚本顶部有这个,但不管我输入什么,它都会继续。
我做错什么了?
goon=
while [ -z $goon ]
do
echo -n 'Do you want to continue? '
read goon
if [[ $goon = 'n' ]]
then
break
fi
goon=
done
最佳答案
使用无限循环和case/esac,如下所示:
while true
do
read -r -p 'Do you want to continue? ' choice
case "$choice" in
n|N) break;;
y|Y) echo 'Do your stuff here';;
*) echo 'Response not valid';;
esac
done