if条件测试语句由if、then、else、elif、fi关键字组成
例:
ATEXT="a"
if [ ! -e $ATEXT ]
then touch a
echo "a已创建"
fi
例:
ATEXT="a"
if [ ! -e $ATEXT ]
then touch a
echo "a已创建"
else
echo "a已存在"
fi
例:
ping命令中-c是规定尝试次数,-i是定义每个数据包发送的间隔,-W是定义等待超时时间
/dev/null被称作linux黑洞文件,把输出信息重定向到这个文件中等同于删除数据(类似于没有回收功能的垃圾桶),可以让将无用语句输出到这里,让其不在窗口显示
read命令可以读取用户输入的信息赋值给后面的变量,参数-p可以给用户显示提示信息——>read -p "请输入一个数字" NUMS
例:
read -p "请输入你的成绩" NUMS
if [ $NUMS -ge 0 ] && [ $NUMS -lt 60 ]
then echo "成绩不合格"
elif [ $NUMS -ge 60 ] && [ $NUMS -lt 80 ]
then echo "成绩合格"
elif [ $NUMS -ge 80 ] && [ $NUMS -le 100 ]
then echo "成绩优秀"
else
echo "输入成绩错误"
fi
for循环语句
语法:
for 变量名 in 循环列表
do
命令序列
done
例:
先建一个文件然后里面每行输入一个单词,文件名为abc.txt
#循环abc文件,然后在其每行后添加abc然后输出
for TXTV in `cat abc.txt`
on echo "$TXTV"abc
done
例:
将地址卸载pings.txt文件中,然后循环ping里面的地址
#!这个是ping的脚本
PINGS=`cat /home/test/pings.txt`
for TXTPING in $PINGS
on
ping -c 3 -i 1 -W 3 $TXTPING &> /dev/null
if [ $? -eq 0 ]
then echo ping"$TXTPING"成功啦
else
echo ping"$TXTPING"失败啦
fi
done
while循环语句
exit 0可以退出循环
语法:
while 条件是否满足
do
命令序列
done
例:
一个开了外挂的猜数字游戏
RANDOMS=$RANDOM
#开启外挂获取参数
echo "$RANDOMS"
#设置一个会自增的值代表次数
VALUES=0
while true
do
echo 第"$VALUES"回合
read -p "请输入一个数字:" NUMS
let VALUES++
if [ $RANDOMS -eq $VALUES ]
then echo "猜对啦"
exit 0
elif [ $RANDOMS -gt $VALUES ]
then echo "猜小了"
else
echo "猜大了"
fi
done
case条件语句
相当于java中的switch..case..defualt
语法:
case 变量值 in
条件一)
命令序列一
;;
条件二)
命令序列二
;;
......
*)
默认命令序列
esac
例:
输入一个字符串,判断是数字、字母还是其他
read -p "请输入一个字符串" VALUES
case $VALUES in
[a-z]|[A-Z])
echo "是字母"
;;
[0-9])
echo "是数字"
;;
*)
echo "是其他"
esac