linux shell 语言基础(1)比较测试操作符

一、查看linux 系统shell 支持

 执行命令 cat /etc/shells
$ cat /etc/shells
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/zsh

二、常用的文件测试操作符

-f  文件

判断文件存在且为普通文件为真,即测试表达式成立

-d 文件(目录)判断文件存在且为目录文件为真,即测试表达式成立

-s 文件;大小

判断文件存在且为大小不为0则真,即测试表达式成立

-e 文件;

判断文件存在为真,即测试表达式成立,只要有文件就行,要区别与“-f”

-r 文件

判断文件存在且可读则真,即测试表达式成立

-w文件

判断文件存在且可写则真,即测试表达式成立

-x 文件判断文件存在且可执行则真,即测试表达式成立
-l 文件判断文件存在且为链接文件则真,即测试表达式成

 

 

 

 

 

 

 

 

 

 

注意:这些操作符合对于[[]]、[]、test几乎通用,更多man test

三、字符串测试操作

-z "字符串"

若字符串长度为0则真;[ -z "abc" ]&&echo 1||echo 0

-n "字符串"

若字符串长度不为0则真

"字符串1" = "字符串2"

两个字符串相等为真

"字符串1" != "字符串2"

两个字符串不相等为真

注意

字符串用双引号包含;比较符两端有空格

 

 

 

 

 

 

四、整数二元比较操作符

在[]及test比较    

  在(())和[[]]使用的比较符      说明
-eq==或=

equal的缩写 相等

-ne !=

no equal 的缩写 不相等

-gt  >  

 大于 gerater than

-ge                                                                                       >=大于等于  gerater equla

-lt                                                                                                

<   小于    less than
-le                                                                                             <= 小于等于 less equal

 

 

 

 

 

 

 

 

注意:常用 [  $num1 -eq  $num2 ]   注意空格 (($num1>$num2))   无需空格常规的数学比较

五、逻辑连接符

在[]及test          

在(())和[[]]使用的比    说明
-a&&and 与,两个为真则真
-o||or 或,两个有一个为真则真
!!not 非,相反为真

 

 

 

 

 

六、条件测试与比较

1、test 测试表达式 常用                 test -f file && echo true||echo false

2、[ 测试表达式 ]  特别常用           [ -f file ]&& echo true||echo false

3、[[ 测试表达式  ]]                       [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true

[[ expr ]] 是bash中真正的条件判断语句,其语法更符合编程习惯 (比如 &&, || 的用法)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值