2018.5.14
if单分支
if [ 判断];then
命令
fi
if双分支
if 【判断】;then
命令1
else
命令2
fi
这里写一个双分支的脚本测试指定主机是否能ping通
vim ping.sh
#!/bin/bash
ping -c 2 -i 0.2 -W 1 192.168.4.$1 > /dev/null 这里因为linux的ping机制无限所以添加-c2来限制次数 -i 0.2 ping间隔0.2秒 -W 1响应时间超过1秒认为down机
if [ $? -eq 0 ];then
echo "192.168.4.$1 通"
else
echo "192.168.4.$1 不通"
fi
if多分支
if [判断];then
命令1
elif [判断];then(可以有很多)
命令2
else
命令3
fi
多分支练习脚本:生成一个随机数,执行后输入一个数,二者比较后返还结果大了还是小了
#!/bin/bash
read -p "输入一个数:" X
Y=$[RANDOM%10+1]
if [ $X -eq $Y ];then
echo "恭喜你猜对了呵呵哒"
elif [ $X -lt $Y ];then
echo "小了*-*"
else
echo "大+.+"
fi
这个脚本后面可以用while
这里记录下case简单if结构
case 变量 in
A)
命令1;;
B)
命令2;;
C)
命令3;;
*)
命令4;;
esac
#!/bin/bash
case $1 in
-n)
touch $2;;
-e)
vim $2;;
-c)
cat $2;;
-r)
rm -rf $2;;
*)
echo "Usage $0 [-n|-e|-c|r] file"
esac
这个脚本写集成了几个命令,包含提示功能 其中$0是文件本身名 $1是选项 $2用户输入,一个脚本多个选项
case只对字符作判断 当变量符合执行对应命令。