加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – BASH – 找不到什么$?特殊变量意味着

发布时间:2020-12-14 00:52:24 所属栏目:Linux 来源:网络整理
导读:谁知道$?在BASH意味着什么? 我必须编写一个脚本,如果它崩溃或被杀死,它将重启一个进程.所以我发现这是从: RESTART="/etc/init.d/apache2 restart"if [ $? -ne 0 ] # if apache not runningthen # restart apache $RESTARTfi 我做了搜索,但是$?我不知道.
谁知道$?在BASH意味着什么?

我必须编写一个脚本,如果它崩溃或被杀死,它将重启一个进程.所以我发现这是从:

RESTART="/etc/init.d/apache2 restart"
if [ $? -ne 0 ] # if apache not running
then
   # restart apache
   $RESTART
fi

我做了搜索,但是$?我不知道.

我不确定上面的脚本是否是最好的方法,我假设$RESTART将挂起,直到进程被终止或死亡?如果没有,我会假设在那里会有某种类型的sleep()调用,所以这个东西不会以每小时1000英里的速度旋转.

解决方法

Anyone know what $? means in bash

它是最近执行的命令的退出状态.

[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查找.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读