【发布时间】:2009-11-29 21:23:36
【问题描述】:
我有一个在我的 shell 脚本中使用的函数,并且基于某个条件,我想在该函数中调用“exit 0”,以便整个脚本退出。但是由于某种原因,在函数中调用 exit 0 后程序仍然运行。为什么?
check()
{
printf "Would you like to try again?\n"
read S
if [ "$S" = "y" ]
then
./myprog
else
exit 0
fi
}
我这样称呼它:
if test $WRONG -eq 7
then
printf "Sorry\n"
check
fi
【问题讨论】:
-
如果您发布包含退出的脚本部分会有所帮助。
-
调用
check的测试代码和check shell过程在同一个实际的shell源文件中吗? -
是的,在同一个脚本里有,并且函数是在测试执行前定义的。