这几天学习shell脚本随着学习的深入发现有些细节有点混,尤其是在条件语句上面的混淆,现在把自己的总结如下:

1  IF/ELSE的条件语句

    在自己接触到的教材和网上材料认识到,主要还是依靠test语句来进行判断。test语句常用来进行3种类别环境下的判断,1 数值类比较    2 字符串类比较   3 文件或目录属性判断,有关test的使用和注意事项可以参考网上其他博客



2  WHILE /UNTIL语句

  while和until的逻辑判断语句可以是test语句,也可以使用((  逻辑判断语句 ))  或者 [[  逻辑判断语句 |  test语句  ]]

eg:

<1> 方法 一

Bob$ cat test50.sh

#!/bin/bash
i=1
while (( 1 <= 2  ))
do
    echo  hello
    break
done

Bob$./test50.sh

hello


<2>方法二

Bob#cat test50.sh

#!/bin/bash
i=1
while [ 1 -le 2  ]
do
    echo  hello
    break
done

Bob$./test50.sh

hello

<3> 方法三

Bob$cat test50.sh

#!/bin/bash
i=1
while [[  $i < 2  ]]    //这里的<改为<=不行,这个我暂时还不清楚
do
    echo  hello
    break
done

Bob$./test50.sh

hello

<4>方法四

Bob$cat test50.sh

#!/bin/bash
i=1
while [[ $i -le  2 ]]
do
    echo  hello
    break
done

Bob$./test50.sh

hello


注:[[  ]] 里面的语句可以是test的语句,另外[[ ]]还可以包含(())的一部分,为此建议在有数值的情况下使用(()),而其他的使用[ ]


Logo

更多推荐