shell if语句判断参数

shell 编程中使用到得if语句内判断参数html

  • –b 当file存在而且是块文件时返回真 spring

  • -c 当file存在而且是字符文件时返回真 shell

  • -d 当pathname存在而且是一个目录时返回真 编程

  • -e 当pathname指定的文件或目录存在时返回真 ide

  • -f 当file存在而且是正规文件时返回真 spa

  • -g 当由pathname指定的文件或目录存在而且设置了SGID位时返回为真 htm

  • -h 当file存在而且是符号连接文件时返回真,该选项在一些老系统上无效 blog

  • -k 当由pathname指定的文件或目录存在而且设置了“粘滞”位时返回真 three

  • -p 当file存在而且是命令管道时返回为真 进程

  • -r 当由pathname指定的文件或目录存在而且可读时返回为真

  • -s 当file存在文件大小大于0时返回真

  • -u 当由pathname指定的文件或目录存在而且设置了SUID位时返回真

  • -w 当由pathname指定的文件或目录存在而且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。

  • -o 当由pathname指定的文件或目录存在而且被子当前进程的有效用户ID所指定的用户拥有时返回真。  

UNIX Shell 里面比较字符写法:

  • -eq   等于

  • -ne   不等于

  • -gt   大于

  • -lt   小于

  • -le   小于等于

  • -ge   大于等于

  • -z    空串

  • =     两个字符相等

  • !=    两个字符不等

  • -n    非空串

-------------------------------------------------------------------------

更为详细的说明:

文件比较运算符
-e  filename             若是 filename 存在,则为真             [ -e /var/log/syslog ]
-d filename              若是 filename  为目录,则为真                     [ -d /tmp/mydir ]
-f  filename             若是 filename 为常规文件,则为真       [ -f /usr/bin/grep ]
-L filename              若是 filename  为符号连接,则为真      [ -L /usr/bin/grep ]
-r  filename             若是 filename 可读,则为真             [ -r /var/log/syslog ]
-w filename              若是 filename  可写,则为真            [ -w /var/mytmp.txt ]
-x  filename             若是 filename 可执行,则为真           [ -L  /usr/bin/grep ]
filename1 -nt filename2  若是 filename1 比 filename2 新,则为真 [  /tmp/install/etc/services -nt /etc/services ]
filename1 -ot filename2  若是  filename1 比 filename2 旧,则为真[ /boot/bzImage -ot arch/i386/boot/bzImage ]

字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string                若是  string 长度为零,则为真          [ -z $myvar ]
-n  string               若是 string 长度非零,则为真           [ -n  $myvar ]
string1 = string2        若是 string1 与 string2  相同,则为真  [ $myvar = one two three ]
string1 != string2       若是 string1 与 string2 不一样,则为真   [ $myvar != one two three ]

算术比较运算符
num1 -eq num2            等于                  [ 3 -eq  $mynum ]
num1 -ne num2            不等于                [ 3 -ne $mynum ]  
num1 -lt num2            小于                  [ 3 -lt $mynum ]  
num1 -le num2            小于或等于            [ 3 -le $mynum ]
num1 -gt  num2           大于                  [ 3 -gt $mynum ]
num1 -ge  num2           大于或等于            [ 3 -ge $mynum ]


转载自:http://hi.baidu.com/spring_qx/blog/item/2f1676c5ef5076c338db4969.html

相关文章
相关标签/搜索