shell中特殊符号定义

文件比较例子: if [ -e /etc/passwd ]

字符串比较例子: if [ $string1 == $string2]

数值比较例子:if [ $var1 = $var2]

文件比较符号
参数说明示例
-e file如果文件或目录存在则为真-e file
-r file如果文件存在且可读则为真

-r file

-w file如果文件存在且可写则为真-w file
-x file如果文件存在且可执行则为真-x file
-s file如果文件存在且至少有一个字符则为真-s file
-d file 如果文件存在且为目录则为真-d file
-f file如果文件存在且为普通文件则为真-f file
-c file如果文件存在且为字符型文件则为真-c file

-b file

如果文件存在且为块特殊文件则为真

-b file 

file1 -nt file2检查file1是否比file2新  新则为真file1 -nt file2
file1 -ot file2检查file1是否比file2旧  旧则为真file1 -ot file2
file1 -ef file2检查file1与file2是否为同一文件(硬件接,inode)    一致则为真file1 -ef file2
 
数值比较符号
参数说明示例
-eq  等于则为真

  $a -eq $b

-ne  不等于则为真  $a -ne $b
-gt  大于则为真  $a -gt $b
-ge  大于等于则为真  $a -ge $b
 -lt  小于则为真  $a -lt $b
  -le  小于等于则为真  $a -le $b
字符串比较
参数说明示例
==等于则为真 $a = $b
!=不等于则为真 $a != $b
-z字符串为空则为真 -z $a
-n字符串不为空则为真 -n $b
str1 > str2 str1大于 str2 则为真 str1 \>str2
str1 < str2 str1 小于 str2 则为真 str1 \> str2
流程控制语句复杂性比较
参数说明示例
-a或&&

表示and或并且,只有两个表达式都为真时条件才能成立

-a只能在test和[]中使用,&&只能在[[]]中使用

[条件判断1 -a 条件判断2 -a 条件判断3]

[条件判断1] && [条件判断2]

-o 或 ||

表示or或或者,两个表达式中有一个为真则成立

其中 -o只能在test和[]中使用   ||只能在[[]]中使用

[条件判断1 -o 条件判断2 -o 条件判断3]
   !取反 
   ()改变表达式的优先级,需要加转义符条件判断1 -a (条件判断2 -o 条件判断3)
通配符
参数说明示例
*匹配0或多个字符a*b
?匹配任意一个字符a?b
[abcde]匹配中括号中任意一个字符a[abcde]b
[!abcde]匹配除了中括号中任意一个字符a[!abc]b

{str1,str2,...}

匹配str1,str2,...中任意一个字符串a{str1,str2,...}b
[a-z]匹配a-z中任意一个字符也可以是数字a[a-z]    a[0-9]

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值