格式
格式1:test条件表达式
格式2:{ 条件表达式 }
格式3:{{ 条件表达式 }}
文件测试 (文件或目录)
test -d /home
[ -d /home ]
[ -e dir file ]
[ -d dir ]
[ -f file ] ##是否存在,而且是文件
[ -r file ] ##当前用户对文件是否有读权限
[ -x file ]
[ -w file ]
[ -L file ]
数值比较
[ 1 -gt 10 ] #大于
[ 1 -lt 10 ] #小于
[ 1 -eq 10 ] #等于
[ 1 -ne 10 ] #不等于
[ 1 -ge 10 ] #大于等于
[ 1 -le 10 ] #小于等于
disk_use=$(df -P | grep '/$' | awk '{print $5}' | awk -F% '{print $1}')
[ $disk_use -gt 90 ] && echo "war....."
[ $(id -u) -eq 0 ] && echo "当前是超级用户"
文本比较
[ "$USER" = "root" ];echo $?; #字符串变量尽量双引号引起来
BBB="";echo ${#BBB}
BBB="";[ -z "$BBB" ] 字符长度是为0
BBB="";[ -n "$BBB" ] 字符长度不为0
其它
() #子shelll中执行
(()) #数值比较
$() #命令替换
$(()) #整数运算
[] #条件测试
[[]] #条件测试,支持正则 =~
$[] #整数运算
./01.sh #需要执行权限 在子shell中执行
bash 01.sh #不需要执行权限 在子shell中执行
.01.sh #不需要执行权限 在当前shell中执行
source 01.sh #不需要执行权限 在当前shell中执行
调试脚本
sh -n 02.sh #仅调试
sh -vx 02.sh #以调试的方式执行,查询整个执行过程