Shell 整数变量和字符变量的比较操作

在比较操作上,整数变量和字符串变量各不相同,详见下表:

对应的操作

整数操作

字符串操作

相同

-eq

=

不同

-ne

!=

大于

-gt

>

小于

-lt

<

大于或等于

-ge

 

小于或等于

-le

 

为空

 

-z

不为空

 

-n


比如:

比较字符串 a 和 b 是否相等就写作:if [ $a = $b ]
判断字符串 a 是否为空就写作: if [ -z $a ]
判断整数变量 a 是否大于 b 就写作:if [ $a -gt $b ]

更细致的文档推荐在字符串比较时尽量不要使用 -n ,而用 ! -z 来代替。(其中符号 "!" 表示求反操作)

BASH 中的变量除了用于对 整数 和 字符串 进行操作以外,另一个作用是作为文件变量。BASH 是 Linux 操作系统的 Shell,因此系统的文件必然是 BASH 需要操作的重要对象,如 if [ -x /root ] 可以用于判断 /root 目录是否可以被当前用户进入。下表列出了 BASH 中用于判断文件属性的操作符:

运算符

含义( 满足下面要求时返回 TRUE

-e file

文件 file 已经存在

-f file

文件 file 是普通文件

-s file

文件 file 大小不为零

-d file

文件 file 是一个目录

-r file

文件 file 对当前用户可以读取

-w file

文件 file 对当前用户可以写入

-x file

文件 file 对当前用户可以执行

-g file

文件 file GID 标志被设置

-u file

文件 file UID 标志被设置

-O file

文件 file 是属于当前用户的

-G file

文件 file 的组 ID 和当前用户相同

file1 -nt file2

文件 file1 file2 更新

file1 -ot file2

文件 file1 file2 更老


注意:上表中的 file file1 file2 都是指某个文件或目录的路径。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值