1.文件测试。
[root@centos01 ~]# [ -d /media/ ]
[root@centos01 ~]# echo $?
0
[root@centos01 ~]# [ -d /media/cdrom/Server ]
[root@centos01 ~]# echo $?
1
[root@centos01 ~]# [ -d /media/cdrom/Server ] && echo “yes”
[root@centos01 ~]# mkdir -p /media/cdrom/
[root@centos01 ~]# [ -d /media/ ] && echo “yes”
yes
2.整数值比较
[root@centos01 ~]# Unum=who | wc -l
[root@centos01 ~]# [ $Unum -gt 1 ] && echo “Too many.”
[root@centos01 ~]# [ KaTeX parse error: Expected 'EOF', got '&' at position 14: Unum -gt 0 ] &̲& echo "Too man…(free -m | grep “Mem: " | awk ‘{print $6}’)
[root@centos01 ~]# [ $FreeCC -lt 1024 ] && echo ${FreeCC}MB
177MB
3.字符串比较
[root@centos01 ~]# echo $LANG
zh_CN.UTF-8
[root@centos01 ~]# [ $LANG != “en.US” ] && echo “Not en.US”
Not en.US
[root@centos01 ~]# read -p “是否覆盖现有文件(yes/no)?” ACK
是否覆盖现有文件(yes/no)?yes
[root@centos01 ~]# [ $ACK = “yes” ] && echo “覆盖”
覆盖
[root@centos01 ~]# read -p “是否覆盖现有文件(yes/no)?” ACK
是否覆盖现有文件(yes/no)?no
[root@centos01 ~]# [ KaTeX parse error: Expected 'EOF', got '&' at position 14: ACK = "no" ] &̲& echo "不覆盖" 不覆…(uname -r | awk -F. '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲') [root@centos…(uname -r | awk -F. ‘{print $2}’)
[root@centos01 ~]# [ $Mnum -ge 3 ] && [ $Snum -gt 4 ] && echo “符合要求”
符合要求
5.单分支if语句
[root@centos01 ~]# vim chkmountdir.sh
[root@centos01 ~]# cat chkmountdir.sh
#!/bin/bash
MOUNT_DIR=”/media/cdrom/"
if [ ! -d $MOUNT_DIR ]
then
mkdir -p KaTeX parse error: Expected 'EOF', got '#' at position 31: …oot@centos01 ~]#̲ chmod +x chkmo…USER" != “root” ]
then
echo “错误:非root用户,权限不足!”
exit 1
fi
fdisk -l /dev/sda
[root@centos01 ~]# chmod +x /opt/chkifroot.sh
[root@centos01 ~]# /opt/chkifroot.sh
[root@centos01 ~]$ /opt/chkifroot.sh
6.双分支if语句
[root@centos01 ~]# vim pinghost.sh
[root@centos01 ~]# cat pinghost.sh
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
echo “Host $1 is up.”
else
echo "Host $1 is down."
fi
[root@centos01 ~]# chmod +x pinghost.sh
[root@centos01 ~]# ./pinghost.sh 192.168.100.10
Host 192.168.100.10 is up.
[root@centos01 ~]# ./pinghost.sh 192.168.100.20
Host 192.168.100.20 is down.
7.多分支if语句
[root@centos01 ~]# vim gradediv.sh
[root@centos01 ~]# cat gradediv.sh
#!/bin/bash
read -p “请输入您的分数(0-100:” GRADE
if [ $GRADE -ge 85 ] && [
G
R
A
D
E
−
l
e
100
]
t
h
e
n
e
c
h
o
"
GRADE -le 100 ] then echo "
GRADE−le100]thenecho"GRADE 分,优秀!"
elif [ KaTeX parse error: Expected 'EOF', got '&' at position 16: GRADE -ge 70 ] &̲& [ &GRADE -le …GRADE 分,合格!"
else
echo “$GRADE 分,差劲!”
fi
[root@centos01 ~]# sh gradediv.sh
请输入您的分数(0-100:100
100 分,优秀!
[root@centos01 ~]# sh gradediv.sh
请输入您的分数(0-100:60
gradediv.sh:行6: GRADE: 未找到命令
60 分,差劲!