if 条件测试语句
在Linux系统编写shell脚本中,if 语句的使用比c语言中要复杂一点
linux 系统中 if 条件测试语句以 if 开始,fi 结束
包含了 then else 等更加口语化的表达
elif 类似于在c语言中的 else if
简单的多分支模板:
if //条件测试操作
then //命令序列
elif //条件测试操作
then //命令序列
else
//命令序列
fi
例题:
1、判断文件是否存在,若不存在则创建
#!/bin/bash
DIR="/media/cdrom"
if [ ! -e $DIR ]
then
mkdir -p $DIR
fi
2、验证某台主机是否在线,并返回结果
Linux中的ping命令不像windows中的尝试四次就自动停止
-c定义尝试次数
-i定义每个数据包发送间隔
-W定义等待超过时间
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null //注意Linux系统中输入的用法
if [ $? -eq 0 ]
then
echo "host $1 is on-line"
else
echo "host $1 is off-line"
fi
3、判断用户分数在哪一个区间内
#!/bin/bash
read -p "enter your score:" GREAD //注意空格的使用
if [ $GREAD -ge 85 ] && [ $GREAD -le 100 ] ; then //中括号前后要带空格
echo "you"
elif [ $GREAD -ge 70 ] && [ $GREAD -le 74 ] ; then //同一行输两句的时候要用分号分开,带空格
echo "liang"
else
echo "cha"
fi
read是用来读取用户输入信息的命令,能够把收到的信息赋值给后面的指定变量,-p用于显示一定的提示信息
for条件循环语句
for循环语句一次性读取多个信息,对信息进行逐一操作,适用于当要处理的数据有范围时
基本语法格式:
for 变量名 in 取值列表
do
命令序列
done
例如:
1、从列表中读取多个用户名,逐一创建账户并设置密码