常用
for 变量 in 列表
do
命令
done
for循环格式
for ((i=1;i<=10;i++))
do
echo $i
done
第1次运行循环,i=1
进行判断i<=10是否成立,成立继续循环,否则结束循环.
执行do,done之间的命令
循环结束运行i++,进行下一次循环
第2次循环,i=2
进行判断i<=10是否成立,成立继续循环,否则结束循环.
执行do,done之间的命令
循环结束运行i++,进行下一次循环
while循环(核心)
while 条件
do
命令
done
条件-->if后面加上的[ ]
i=1
while [ $i -le 10 ]
do
echo $i
let i++
done
死循环
while true #true(条件永久生效) 或 :
do
date +%T
done
while true #true 或 :
do
date +%T
sleep 5 #每运行一次,下次运行等待5秒再开始
done
猜数字脚本(1-100)
生成随机数:num=$((RANDOM%100+1))
#1.vars
num=$((RANDOM%100+1))
#2.while
while true
do
read -p "请输入你心中的数字:" n
[[ "$n" =~ ^[0-9]+$ ]] || {
echo "输入的不是数字,请重新输入"
continue
}
if [ $n -eq $num ];then
echo "恭喜你猜对了"
exit
elif [ $n -gt $num ];then
echo "猜错了,数字有点大了,再小一点"
else
echo "猜错了,数字有点小了,再大一点"
fi
done
读取文件
格式:
whlie read line(变量)
do
命令
done < file
运行步骤:
执行while循环语句,读取重定向文件,read逐一读取文件file里的每一行内容并返回给变量line,
在执行循环体里的命令
#创建文件touch ip.txt
10.0.0.202
jd.com
baidu.com
===============================
#1.vars
file=/server/scripts/ip.txt
#2.while
while read line #read读取文件内容存储到line变量中
do
echo $line
done <$file