【linux系统编程基础知识-Shell 脚本学习笔记9-test字符串比较】

13 篇文章 0 订阅

9.1.【变量测试语句】

格式:
test 条件测试
条件为真返回0,条件为假返回1  ,缩写为[ 条件测试 ]
• test能够理解3中类型的表达式
1.文件测试
2.字符串比较
3.数字比较

9.2.【test文件测试】

• -f file : 当file文件存在,并且是正规文件时返回真。
         test –f /etc/passwd 或[ -f /etc/passwd ]
• -d pathname:当pathname存在,并且是一个目录时返回真
        test –d /var/log 或[ -d /var/log ]
• -e pathname:当由pathname指定的文件或目录存在时返回真
• -h file :当file存在并且是符号链接文件时返回真
• -b file :  当文件file存在并且是块文件时返回真
• -c file:当文件file存在并且是字符文件时返回真
• -r pathname :当由pathname指定的文件或目录存在时并且可读时返回真
• -w pathname:当由pathname指定的文件或目录存在时并且可写时返回真
• -x pathname:当由pathname指定的文件或目录存在时并且可执行时返回真
• filename1 -nt filename2 如果 filename1 比 filename2 新,则为真
    [ /tmp/install/etc/services -nt /etc/services ]
filename1 -ot filename2 如果 filename1 比 filename2 旧,则为真
   [ /boot/bzImage -ot arch/i386/boot/bzImage ]

9.3.【test字符串比较】

• -z string 如果 string 长度为零,则为真
test –z “$myvar”或者[ -z "$myvar" ]


• -n string 如果 string 长度非零,则为真
test –n “$myvar”或者[ -n "$myvar" ]


• string1 = string2 如果 string1 与 string2 相同,则为真 [ "$myvar" = "one two three" ]
• string1 != string2 如果 string1 与 string2 不同,则为真 [ "$myvar" != "one two three" ]


• 字符串比较运算符,注意引号的使用,这是防止空格扰乱代码的好方法
• 比较[ -z ]与[ -z “”]

9.4.【test数字比较】

num1 -eq num2 等于           test 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 ]

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值