【学习Linux】结构化命令——if

    xiaoxiao2025-02-11  22

    if...then语句

    (这里先补充一点,每个命令执行都会返回一个整数,执行成功返回1,执行失败根据失败的原因返回不同的数值) 语句形式 :  if  命令 then 命令 fi 这是最简单的if语句。 if  命令 then  命令 else 命令 fi 这个形式加上了else。then后面或者else后面可以写的命令是多条不是一条。 if  命令1 then  命令 elif 命令2 then 命令 fi 这个是else if 的写法 if语句就有这3种形式。但是前面的判断条件里只有命令,也就是说命令执行成功就执行什么,命令执行失败执行其他的。这样做很不方便。

    test命令

    这个命令使其他的东西也能成为判断条件。 写法: if  test condition then 命令 fi test命令的另一种写法 if  [ condition ] then 命令 fi 注意condition前后的空格。 ①比较数值(我们经常需要比较2个整数的大小 示例:这个是测试2个数是否相等,只需要改变-eq为别的就好了。注意空格问题。 <strong>#!/bin/bash</strong> <strong>#20160814</strong> <strong>var1=1</strong> <strong>var2=2</strong> <strong>if [ $var1 -eq $var2 ] then echo sucess else echo fail fi</strong> ②比较字符串(使用大于或者小于符号时记得加上转义符) <strong>示例:只有一个等于号,不是2个。 -n是判断字符串的长度是否不等于0,-z是判断是否等于0</strong> <strong>#!/bin/bash</strong> <strong>#20160814</strong> <strong>var1=aaaa</strong> <strong>var2=bbbb</strong> <strong>if [ $var1 = $var2 ] then echo sucess else echo fail fi</strong> ③比较文件 高级的test命令 高级的test命令可以进行复杂一点的数学计算。 ①使用双圆括号,在双圆括号里面可以使用下面这些运算符号,并且不用转义,还有,使用双圆括号之后,括号里的判断根其他语言就一样了。判断是否相等还是要用2个等于号。这里应该是可以替代前面比较整数的方法的。 <strong>#!/bin/bash</strong> <strong>#20160814</strong> <strong>var1=1</strong> <strong>var2=2</strong> <strong>if (( $var1 < $var2 )) then </strong> <strong> (( var1=$var1 ** 2 ))</strong> <strong> echo \$var1=$var1</strong> <strong>else echo fail fi</strong> 前增量后增量什么的不知道怎么测试。其他的应该正常的。 ②使用双方括号,这里可以替代前面比较字符串的方法。 并且在双方括号里面可以使用模式匹配的方法。 #!/bin/bash #20160814 var1=aaaa if [[ $var1 == a* ]] then echo \$var1=$var1 else echo fail fi 点击这里 这里是有关模式匹配的详细介绍
    转载请注明原文地址: https://ju.6miu.com/read-1296333.html
    最新回复(0)