shell进阶---循环for,,while, until,shift,select

用花括号括起来,加一个& 相当于将所有的循环命令并行起来

在这里插入图片描述

特殊的

后台命令有一个缺点,当你执行完这个命令后,按enter键后才会出现所有的结果

在这里插入图片描述

改进最后加一个 wait,他会在最后自动将提示符打印出来

在这里插入图片描述

5.for循环嵌套


在这里插入图片描述

6.花括号里面不能用$,只能用seq


在这里插入图片描述

在这里插入图片描述

7.传统的for循环


两个括号

for ((控制变量初始化;条件判断表达式;控制变量的修正表达式))

do

循环体

done

在这里插入图片描述

8.实例:


计算1—100之和

在这里插入图片描述

在这里插入图片描述

奇数相加

{1…100…2}

在这里插入图片描述

创建10个用户

取随机字母作为口令

在这里插入图片描述

在这里插入图片描述

删除多余的用户

在这里插入图片描述

实现将一个文件夹下的.后缀名改成以.text结尾的文件

也可以用find命令

find -name "*.conf" -exec cp {} {}.text \;

也可以哟on个rename

rename .log .log.bak

在这里插入图片描述

*表示该目录下所有的文件

在这里插入图片描述

扫描–主机状态—网段

在这里插入图片描述

9x9乘法表

\t table键----------为了对齐

\c不打印换行

在这里插入图片描述

等腰三角形

分析:

加号的个数 当前行号*2-1

加号前的空格 为总行数-第几行

内循环 一个打空格,一个打星号

在这里插入图片描述

打印国际象棋在这里插入图片描述

9.例题


1、判断/var/目录下所有文件的类型

2、添加10个用户user1-user10,密码为8位随机字符

3、/etc/rc.d/rc3.d目录下分别有多个以K开头和以S开头的文件;分别读取每个文件,以K开头的输出为文件加stop,以S开头的输出为文件名加start,如K34filename stop S66filename start

4、编写脚本,提示输入正整数n的值,计算1+2+…+n的总和

5、计算100以内所有能被3整除的整数之和

6、编写脚本,提示请输入网络地址,如192.168.0.0,判断输入的网段中主机在线状态

7、打印九九乘法表

8、在/testdir目录下创建10个html文件,文件名格式为数字N(从1到10)加随机8个字母,

如:1AbCdeFgH.html

9、打印等腰三角形

10、猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又

将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,只剩下一个桃子了。求第一天共摘了多少?

二.while循环(为真执行)

==================================================================================

常用的条件判断为 test -n 是否存在

格式

while CONDITION; do

循环体

done

循环控制条件;进入循环之前,先做一次判断;每一次循环之后

会再次做判断;条件为“true”,则执行一次循环;直到条件测试状态为“false”

终止循环

例如

编写脚本,利用变量RANDOM生成10个随机数字,输出这个10数字,并显示其中的最大值和最小值

在这里插入图片描述

Php-pfm服务–支持php程序,启动器来会出现一个9000端口

监控php程序,如果程序出异常,自动修复

Killall命令 发送一个编号为0的,会做错误检查

返回为0 是正常的

写一个监控脚本监控php服务(自动运行死循环)

或者计划任务–但是时间太久—至少一分钟

在这里插入图片描述

while的特殊用法


遍历文件的每一行,标准输出重定向

while read line; do

循环体

done < /PATH/FROM/SOMEFILE

:为什么没有while就持续按错误

:管道会开启子进程------就不在一个进程里面了

在这里插入图片描述

无论变量和变量之间有多个空格都可以执行在这里插入图片描述

将分区是用率提取出来

在这里插入图片描述

在这里插入图片描述

分析访问日志ip地址出现次数超过100次以上

就有风险,扔到防火墙里,拒绝他

在这里插入图片描述

在这里插入图片描述

lastb登录错误信息(猜密码)在这里插入图片描述

在这里插入图片描述

点菜

Cat <<EOF 打印

在这里插入图片描述

在这里插入图片描述

例题


1、编写脚本,求100以内所有正奇数之和

2、编写脚本,提示请输入网络地址,如192.168.0.0,判断输入的网段中主机

在线状态,并统计在线和离线主机各多少

3、编写脚本,打印九九乘法表

5、编写脚本,实现打印国际象棋棋盘

6、后续六个字符串:efbaf275cd、4be9c40b8b44b2395c46、f8c8873ce0、b902c16c8b、ad865d2f63是通过对随机数变量RANDOM随机执行命令:echo$RANDOM|md5sum|cut –c1-10 后的结果,请破解这些字符串对应的RANDOM值

三.until循环(为假执行)

==================================================================================

常用的条件判断为 test -z 是否不存在

until CONDITION; do

循环体

done

四.循环控制语句

===========================================================================

1.中断本次循环continue


continue [N]:提前结束第N层的本轮循环,而直接进入下一轮判断;

例如:

第次5跳过

在这里插入图片描述

在这里插入图片描述

Continue 2 退出第二层循环(向外层数)

在这里插入图片描述

在这里插入图片描述

2.提前结束循环break


break [N]:提前结束第N层循环,

例如

第五次结束

在这里插入图片描述

在这里插入图片描述

Break 2结束整个外层循环在这里插入图片描述

在这里插入图片描述

3.退出整个脚本exit


4.shift左移列表元素并删除之


常与while连用

shift [n]用于将参量列表 list 左移指定次数,缺省为左移一次,最左端的那个参数就从列表中删除

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五.无限循环

=========================================================================

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

总结

总的来说,面试是有套路的,一面基础,二面架构,三面个人。

最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友

三面蚂蚁金服成功拿到offer后,他说他累了

三面蚂蚁金服成功拿到offer后,他说他累了

中…(img-klfhwKWx-1711988183861)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-gz3vtOMo-1711988183862)]

总结

总的来说,面试是有套路的,一面基础,二面架构,三面个人。

最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友

[外链图片转存中…(img-AtehVJsF-1711988183862)]

[外链图片转存中…(img-vKncpdby-1711988183862)]

  • 26
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值