条件判断
test "$a" == "$b" 等同于 [ "$a" == "$b" ]
[ "$a" =="$b" ] 等于
[ "$a" != "$b" ] 不等于
[ "$a" -eq "$b" ] 等于
[ "$a" -ne "$b" ] 不等于
[ "$a" -le "$b" ] 小于等于
[ "$a" -ge "$b" ] 大于等于
[ "$a" -gt "$b" ] 大于
[ "$a" -lt "$b" ] 小于
[ "$a" -ne "$b" -a "$a" -gt "$b" ] -a必须条件都满足
[ "$a" -ne "$b" -o"$a" -gt "$b" ] -a条件至少满足一个
[ -z "$a" ] 是否为空
[ -e "file" ] 是否存在
[ -f "file" ] 普通文件
[ -b "file" ] 块设备
[ -S "file" ] 套接字
[ -c "file" ] 字符设备
[ -L "file" ] 软链接
练习
- 判断输入的数字是否在10以内
- 输入是否为空
- 是否在10以内
- 0<$a<10 --> yes
- $a<1 $a>10 --> no
#!/bin/bash
[ -z "$1" ] && {
echo "please input a number!"
exit 1
}
[ "$1" -gt "0" -a "$1" -lt "10" ] && {
echo "YES"
}||{
echo "NO"
}
- 判断文件类型
#!/bin/bash
[ -z "$1" ] && {
echo "please enter the file name!"
exit 1
}
[ -e "$1" ] || {
echo "This file does not exist!"
exit 1
}
[ -f "$1" ] && {
echo "The file is a normal file."
}
[ -b "$1" ] && {
echo "The file is a block device."
}
[ -S "$1" ] && {
echo "The file is a socket."
}
[ -c "$1" ] && {
echo "The file is a character device.0"
}
[ -L "$1" ] && {
echo "The file is a soft link"
}