Linux-文件比较与测试

一.算术比较

算术操作符主要有以下几个:

-eq:等于(equal)

-gt: 大于(greater than)

-lt: 小于(less than)

-ge:大于或等于(greater than or equal)

-le:小于或等于(less than or equal)

对变量或值进行算术条件比较,如果两个条件通过&&,||连接在一起,记得在操作数之间要有一个空格。例如:

[ $var1 -eq 0 ] || [$var2 -lt 10 ]

 

二.文件系统相关属性测试

与文件系统相关的测试符号主要有:

[ -d $var ]:如果给定变量为目录,则返回真。

[ -f $var ]: 如果给定变量为文件,则返回真。

[ -x $var ]: 如果给定变量是可执行的,则返回真。

[ -w $var ]: 如果给定变量可写,则返回真。

[ -r $var ]: 如果给定变量可读,则返回真。

[ -e $var ]: 如果给定变量存在,则返回真。

.....

使用方法如下:

fpath="/etc/passwd"

if [ -e $fpath ]; then

     echo “File exists"

else

     echo "Does not exist"

fi

 

三.字符串比较

比较两字符串是否相等:

[[ $str1 = $str2 ]]: 当str1等于str2时,返回真,即str1和str2包含的文本是一模一样的,也可以写成[[ $str1 == $str2 ]] 。

 

其他字符串比较符号:

[ $str1 != $str2 ]: 如果str1和str2不相同,则返回真。

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

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

[ -z $str1 ]: 如果str1为空,则返回真。

[ -n $str1 ]: 如果str1非空,则返回真。

 

注意:Linux中 “=“ 的用法,如果 “=” 前后各有一个空格,则表示比较, 如果没有空格,则表示赋值。




 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值