有人知道$?
在BASH中意味着什么吗?
我必须编写一个脚本,如果它崩溃或被杀死,它将重启一个进程。所以我发现这始于:
RESTART="/etc/init.d/apache2 restart"
if [ $? -ne 0 ] # if apache not running
then
# restart apache
$RESTART
fi
我已经搜索了,但是$?躲避我。
我不确定上面的脚本是否是执行此操作的最佳方法,我假设$ RESTART将挂起,直到进程被杀死或死亡。如果没有,我会认为那里会有某种sleep()调用,所以这件事不会以每小时1000英里的速度旋转。
最佳答案
这是最近执行的命令的退出状态。
[cnicutar@fresh ~]$ ls /nothing
ls: cannot access /nothing: No such file or directory
[cnicutar@fresh ~]$ echo $?
2
[cnicutar@fresh ~]$ ls -ld .
drwx------ 15 cnicutar users 4096 Aug 16 15:29 .
[cnicutar@fresh ~]$ echo $?
0
在tldp上查找。