-1
我有一个脚本有几个输入,脚本最终会启动一个下载,一旦下载完成,我想提示用户如果他们想下载别的东西来启动这个过程。什么是回到脚本开始的最佳方式?
while true;do
read -p "Is this correct? (yes/no/abort) " yno
case $yno in
[Yy]*) break;;
[Nn]*) echo "Lets Start Over" 'restart script code goes here';;
[Aa]*) exit 0;;
*) echo "Try again";;
esac
done
echo
echo "Starting $build download for $opt1 from Jenkins"
echo
while true;do
read -p "Do you want to download something else? " yesno
case $yesno in
[Yy]*) 'restart script code goes here';;
[Nn]*) break;;
*) echo "Try Again "
esac
done
您可以使用'exec $ 0'来替换当前调用的新调用,从顶部开始采用新的流程,这有一些优势)。或者,使用'redo = yes; while [“$ redo”=“yes”];做...你现在的代码...; done',如果用户不想再次尝试,您可以在其中修改代码以设置'redo = no'。在这两者之间,循环更传统。 – 2015-02-11 00:33:57
这与shell脚本无关,您需要在开始实现它们之前了解有关条件语句和循环的基础知识。我建议先创建一个程序流程图。 (使用铅笔) – hek2mgl 2015-02-11 00:36:41