If [$a = $b ] 如果string1等于string2 字符串允许使用赋值号做等号 if [$string1 != $string2 ] 如果string1不等于string2 if [-n $string ] 如果string非空(非0),返回0(true) if [-z $string ] 如果string为空 if [$sting ] 如果string非空,返回0 (和-n类似) 条件表达式引用变量要带$ if...
-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" ] < 小于(需要双圆括号)...
if grep -q "rm" fs.sh;then 2、传回一个命令执行结果的相反值 if !grep -q "rm" fs.sh;then 3、使用复合命令((算式)) if ((a>b));then 4、使用bash关键字 [[判断式]] if [[ str > xyz ]];then 5、使用内置命令:test 判断式 if test "str" \> "xyz";then 6、使用内置命令:[判断...
其中,`condition`是一个要测试的条件表达式,如果该表达式的返回值为真(即返回值为0),则执行`command1`、`command2`等命令;否则跳过这些命令,继续执行后面的代码。需要注意的是,在if语句中,`condition`和方括号之间必须有空格。下面是一个简单的示例:sh#!/bin/shread -p"请输入一个数字:" numif [$n...
Shell脚本理论篇2——条件测试&IF判断 条件测试 上一篇博客我们提到了预定义变量中有个$?变量用于判断命令是否执行成功。那么如何使用呢? 这时候就需要专门的测试工具——test命令,对特定条件进行测试,并使用$?对返回值进行判断,其命令形式如下: test 条件表达式 ...
command1返回0(成功),而command2返回1(失败)。然后我们使用if语句来检查这些命令的返回值,并相应地输出结果。 注意,if语句后面的命令是否成功取决于其返回值。如果返回值为0,则认为命令成功;如果返回值非0,则认为命令失败。在这个示例中,我们使用了两个自定义函数,但你可以将它们替换为实际的命令。 0 赞 0 踩...
shell脚本中, 执行其他脚本时,想判断执行其他脚本的结果是否成功 if [ $? -ne 0 ];then echo "fail" else: echo "success" fi 1. 2. 3. 4. 5. 如果返回0,代表命令执行成功 返回1或者其他不等于0的值,代表失败 -eq //equals等于 -ne //no equals不等于 ...
有些命令的返回值可能比较复杂,不能直接通过$?来获取。这时我们可以使用管道”| “操作符将命令的输出传递给另一个命令,并通过判断最后一个命令的返回值来获取整个命令的返回值。 示例代码如下: “`shell command1 | command2 | command3 if [ ${PIPESTATUS[0]} -eq 0 ] && [ ${PIPESTATUS[1]} -eq 0...
if 条件;then commands elif 条件 commands else commands fi if语句会运行if后面的那个条件(命令),如果该命令的退出状态码是0(该命令成功运行),位于then部分的命令就会被执行。如果该命令的退出状态码是其他值, then部分的命令就不会被执行,bash shell会继续执行脚本中的下一个命令。
其中1、2、127已经被系统占用了,如果用户想自行定义执行状态返回值,可以使用exit命令在脚本中定义脚本执行状态返回值,如果不定义,脚本执行状态返回值取决于脚本执行结束前最后执行的那条语句的状态。 故判断bash语句的执行条件,就是在判断执行状态返回值。