条件判断
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以内
1.输入是否为空
2.是否在10以内
3.1<
a
<
10
−
−
>
y
e
s
4.
a<10 --> yes 4.
a<10−−>yes4.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"
}