h=$(date +%H)
s=$(date +%S)
m=$(date +%M)
if [[ $h == 11 && $m == 41 && $s == 10 ]]
一. bash [ ] 单双括号
基本要素:
Ø
[ ] 两个符号左右都要有空格分隔
Ø
内部操作符与操作变量之间要有空格:如 [ “a” = “b” ]
Ø
字符串比较中,> < 需要写成\> \< 进行转义
Ø
[ ] 中字符串或者${}变量尽量使用"" 双引号扩住,避免值未定义引用而出错的好办法
Ø
[ ] 中可以使用 –a –o 进行逻辑运算
Ø
[ ] 是bash 内置命令:[ is a shell builtin
1.测试时逻辑操作符
-
a
|
逻辑与,操作符两边均为真,结果为真,否则为假。
|
-
o
|
逻辑或,操作符两边一边为真,结果为真,否则为假。
|
!
|
逻辑否,条件为假,结果为真。
|
举例: [ -w result.txt-
a
-w score.txt ] ;echo $? // 测试两个文件是否均可写
二. bash [[ ]] 双方括号
基本要素:
Ø
[[ ]] 两个符号左右都要有空格分隔
Ø
内部操作符与操作变量之间要有空格:如 [[ “a” = “b” ]]
Ø
字符串比较中,可以直接使用 > < 无需转义
Ø
[[ ]] 中字符串或者${}变量尽量如未使用"" 双引号扩住的话,会进行模式和元字符匹配
[root@localhostkuohao]# [[ "ab"=a* ]] && echo "ok"
ok
Ø
[[] ] 内部可以使用 && || 进行逻辑运算
Ø
[[ ]] 是bash keyword:[[ is a shell keyword
[[ ]] 其他用法都和[ ] 一样