一、循环中的常见语句
1.1 echo
打印
-n
:表示不换行输出-e
:输出转义字符\b
:相当于退格键(backspace)\n
:换行,相当于回车\f
:换行,换行后的新行的开头连着上一行的行尾\t
:插入一个tab
键,横向制表符,相当于一个大空格键
1.2 循环控制语句
break :跳出当前循环并终止
continue:跳出当前循环,如果条件仍满足,继续执行循环
exit:满足条件,立即退出脚本
对于多层循环,在内层循环使用break、continue只是跳出当前层的循环,如果想要跳出多层循环,可以在break、continue后加上跳出的层数,比如要跳出双循环可用break 2 ,continue 2。
1.3 while
和 until
的用法
while
满足条件就执行循环,不满足条件才会退出。
while
适用场景:死循环,不知道循环多少次,需要主动结束循环或者达到条件才结束循环
死循环:三种格式
while true
#永远为真,即死循环while [ 1 -eq 1 ]
#相当于true,[ ]
里是一个永远为真的条件while :
until
循环:条件不满足才执行循环,一旦条件成立,循环终止。即执行命令直到满足until
的条件才终止。
二、练习
- 用户名存放在users.txt文件中,每行一个。判断文件里的用户名是否存在。
如果用户存在,提示用户已存在
如果用户存在,但是没有设置密码,要提示用户设置密码
如果用户不存在,创建用户,然后给用户创建密码。
2、测试一个网段,C类私有地址,32位的网段,测试可以ping通的地址,保留到/opt/hosts.txt;如果不通,提示不通即可。
wait表示等待当前 Shell 中所有在前台或后台运行的子进程(包括通过 & 启动的后台任务)完成后再返回
3、购物例题:
逛淘宝选购商品,每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店,如果不再继续逛的话进行购物车结算总额。
验证
4、某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。
依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,
请问这只猴子在第一天总共摘了多少根香蕉?
验证