shell中括号用法小结

1.小括号

小括号一般用作于命令替换

例如:

a=$( ifconfig |grep eth0 )

这便是将后面括号内的命令返回值赋值给a,其效果等于反引号。

如下:

a=`ifconfig |grep eth0`

这二者表达的意思是一样的

需要注意的是:

shell在变量赋值的时候,等号两边不能有空格,否则会被解释器当成命令来执行,引起报错

2.双小括号

双小括号一般用于作比较的高级数学表达式,如:i++,i--,&&等

例如:

if (( a**20 = 30 ))

需要注意的是:

在作比较的时候,等号两端必须加空格,理解成判断命令执行。(赋值不加空格,比较加空格)

3.中括号

---中括号可以定义测试条件

---中括号中的表达式前后都需要加一个空格

---中括号内一般用于四种类型语句的判断

(1)数值比较

n1 -eq n2  #检查n1是否与n2相等
n1 -ge n2  #检查n1是否大于或等于n2
n1 -gt n2  #检查n1是否大于n2
n1 -le n2  #检查n1是否小于或等于n2
n1 -lt n2  #检查n1是否小于n2
n1 -ne n2  #检查n1是否不等于n2

(2)字符串比较

str1 = str2   #检查str1是否和str2相同
str1 != str2  #检查str1是否和str2不同
str1 < str2   #检查str1是否比str2小
str1 > str2   #检查str1是否比str2大
-n str1       #检查str1的长度是否非0
-z str1       #检查str1的长度是否为0

 (3)文件比较

-d file         #检查file是否存在且是一个目录
-e file         #检查file是否存在
-r file         #检查file是否存在且可读
-s file         #检查file是否存在且非空
-w file         #检查file是否存在且可写
-x file         #检查file是否存在且可执行
file1 -nt file2 #检查file1是否比file2新
file1 -ot file2 #检查file1是否比file2旧

(4)符合条件比较

[ condition1 ] && [ condition2 ]
[ condition1 ] || [ condition2 ]

4.双中括号

---双中括号提供了字符串比较的高级特性(中括号高配)

---括号中可以定义一些正则表达式来匹配字符串

---不是所有的shell解释器都支持双中括号

---双中括号内的表达式前后也必须有一个空格

例如:

A=`ifconfig usb0 |grep 'inet addr'`
B='192.168'
if [[ $A == *$B* ]]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值