码迷,mamicode.com
首页 > 其他好文 > 详细

3.比较与测试

时间:2014-12-14 14:27:24      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:io   ar   使用   sp   on   文件   bs   cti   amp   

shell 中if条件:

if condition; then

    commands;

if

if condition; then

    commands;

elif condition; then

    commands;

else

    commands;

if

可以使用逻辑运算符使if else 嵌套变得简单一些:

    [ condition ] && action; 如果condition为真, 則执行action;

    [ condition ] || action;  如果condition 为假,则执行action;

    [ $var1 -ne 0 -a $var2 -gt 2 ]  可以使用-a 来进行逻辑与

    [$var1 -ne 0 -o $var2 -gt 2 ] 可以使用-0 来进行逻辑或

文件系统相关测试:

    [ -f $file_var ]: 如果给定变量包含正常的文件路径或文件名,则返回真;

    [ -x $var ]: 如果给定的变量包含的文件可执行,则返回真;

    [ -d $var ]: 如果给定的变量包含的文件是目录,则返回真;

    [ -e $var ]: 如果给定的变量包含的文件存在,则返回真;

    [ -c $var ]: 如果给定的变量包含的是一个字符设备文件的路径,则返回真;

    [ -b $var ]: 如果给定的变量包含的是一个块设备文件的路径,则返回真;

    [ -w $var ]: 如果给定的变量包含的文件可写,则返回真;

    [ -r $var ]: 如果给定的变量包含的文件可读,则返回真;

    [ -L $var ]: 如果给定的变量包含的文件是一个符号链接,则返回真;

字符串比较:

    使用字符串比较时,最好用双中括号,因为有时采用单个中括号会产生错误,所以最好避开它们。

    [[ $var1 == $var2 ]]  或者 [[ $var1 = $var2 ]]

    检查两个字符串是否不同:[[ $var1 != $var2 ]]

    检查字符串的字母序情况, 具体如下:

    [[ $var1 > $var2 ]]: 如果str1 的字母序比str2大,则返回真。

    [[ $var1 < $var2 ]]: 如果str1的字母序比str1小,则返回真。

    [[ -z $str1 ]]: 如果str1包含的是空字符串,则返回真。

    [[ -n $str1 ]]: 如果str1包含的是非空字符串,则返回真。

   

3.比较与测试

标签:io   ar   使用   sp   on   文件   bs   cti   amp   

原文地址:http://www.cnblogs.com/thorngirl/p/4162465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!