11 shell中内置关键字[[]]:检查条件是否成立
- 0.[[]] [] (())的对比
- 1.[[]]支持正则表达式
0.[[]] [] (())的对比
[[ ]] 对数字的比较不友好,所以使用 if 判断条件时,建议用(())来处理整型数字,用[[]]来处理字符串或者文件。
|
用法
|
说明
|
脚本
|
支持逻辑运算符
| ||||||
---|---|---|---|---|---|---|---|---|---|---|
(()) |
((expression)) 不需要注意空格 |
|
((a>7 && b==c)) | |||||||
test/[] |
test expression 或[ expression ] 注意空格 |
|
|
|
||||||
[[]] [[ ]] 是 test 的升级版,对细节进行了优化,并且扩展了一些功能 |
[[ expression ]] 注意空格 |
|
|
[[ ]] 剔除了 test 命令的
|
1.[[]]支持正则表达式
在 Shell [[ ]] 中,可以使用=~
来检测字符串是否符合某个正则表达式,它的用法为:
[[ str =~ regex ]] 其中,str 表示字符串,regex 表示正则表达式。
功能
|
脚本
|
结果
|
说明
|
---|---|---|---|
检测一个字符串是否是手机号 |
|
运行结果1: 13203451100 你输入的是手机号码 运行结果2: 132034511009 你输入的不是手机号码 |
对
|