shell 脚本中常见的 if [ $? -ne 0 ]; 意思

Shell命令
7547
linux
linux 举报
2022-08-10
$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.

$?表示上一条命令返回值,$0表示第一个参数,-ne表示不等于。

如果上一条命令成功执行,返回0,否则返回1. [$? -ne 0] 表示如果$?的值不等回于0,则上一条答命令没有执行。

扩展阅读:

$# 表示提供到shell脚本或者函数的参数总数;

$1 表示第一个参数。

另外:

整数比较

-eq     等于,如:if ["$a" -eq "$b" ]

-ne     不等于,如:if ["$a" -ne "$b" ]

-gt     大于,如:if ["$a" -gt "$b" ]

-ge    大于等于,如:if ["$a" -ge "$b" ]

-lt      小于,如:if ["$a" -lt "$b" ]

-le      小于等于,如:if ["$a" -le "$b" ]

<  小于(需要双括号),如:(("$a" < "$b"))

<=  小于等于(需要双括号),如:(("$a" <= "$b"))

>  大于(需要双括号),如:(("$a" > "$b"))

>=  大于等于(需要双括号),如:(("$a" >= "$b"))




倒序看帖 只看楼主
热点关注
You need Perl 5 安装openssl时报错提示需要安装perl 5
shell 脚本中常见的 if [ $? -ne 0 ]; 意思
shell 中 if [ “x${var}“ == “x“ ] 中 x的作用
shell脚本每行后面多了一个^M的原因和解决办法
服务停止、启动、重启一体化脚本,万能语言启动脚本
shell参数判断
在后台用进程名运行bash脚本
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
extman-1.1自带了图形化显示日志的功能;此功能需要rrdtool的支持,您需要安装此些模块才可能正常显示图形日志。
postfix的相关个别参数设置
postfix中recipient/client/sender/helo四者的区别