内容:
1.for循环语句
1.1 列表for循环(常用)
1.2 不带列表for循环(示例)
1.3 类似C语言的风格
2.for循环相关练习题
2.1 【练习题1】批量生成随机字符文件名案例
2.2 【练习题2】批量改名特殊案例
2.3 批量改名其他方式
2.4 【练习题3】批量创建特殊要求用户案例
2.5 批量创建用户并设置随机密码(不使用shell循环)
2.6 【练习题4】扫描网络内存活主机案例
2.7 【练习题5】筛选符合长度的单词案例
2.8 【练习题6】破解RANDOM随机数案例
2.9 【练习题7】博客园博文爬虫案例
2.10 51CTO博客爬虫案例
3.while循环语句
3.1 shell中while语法
3.2 while 使用场景
3.3 while 作用
4.获取取文件中的行,单词和字符
4.1 迭代获取文件中的每一行
4.2 迭代获取每一个单词
4.3 迭代获取每一个字符
4.4 同时获取取文件中的行,单词和字符脚本
4.5 eval 命令用法
5.break continue exit return
5.1 break命令说明
5.2 continue命令说明
5.3 exit命令说明
5.4 return命令说明
6.shell中的数组
6.1 为什么会产生Shell数组
6.2 什么是Shell数组
6.3 数组中的增删改查
6.4 将命令的结果赋值给数组
6.5 数组定义格式
6.6 数组的本质就是一个变量,只是这个变量存了多个值
6.7 【练习题】批量检查多个网站地址是否正常
7.Shell 函数
7.1 使用函数的优势
7.2 定义函数
7.3 引用函数
7.4 函数传参
7.5 $0 永远的脚本名称
7.6 函数中return的用法
7.7 自定义常用函数库
8.shell脚本的调试
8.1 脚本调试技巧
8.2 Shell调试技巧小结
9.shell编程练习题
9.1 【练习题1】shell实现抓阄程序
9.2 【练习题2】输出9x9 乘法表
9.3 【练习题3】解决dDOS攻击生产案例
9.4 【练习题4】开发脚本入侵检测与报警案例(入侵检测系统)
9.5 【练习题5】单词及字母去重排序案例
9.6 【练习题6】编写正(或长)方形图形案例
10.各种语句小结
11.附录
11.1 格式化文本--对齐文本
11.2 服务器被挂马怎么办?
11.3 怎么通过进程找到程序
11.4 screen程序 防止脚本执行中断
11.5 shell中实现倒计时效果
12.linux中的信号
12.1 Linux系统的重要信号及说明
12.1 使用trap控制信号
13.搬运并学习,博客链接
1.for循环语句
#1.1 列表for循环(常用)
#!/bin/bash
for i in 取值列表
do
循环主体/命令
done
#1.2 不带列表for循环(示例)
#!/bin/absh
echo "亚城木CC的博客是:"
for i
do
echo "$i"
done
#1.3 类似C语言的风格
for((exp1;exp2;exp3))
do
指令...
done
#例如:
for((i=0;i<=3;i++))
do
echo $i
done
2.for循环相关练习题
#2.1 【练习题1】批量生成随机字符文件名案例
使用for循环在/root/202204目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串【20220428】:make_file.sh
#!/bin/bash
#批量生成随机字符文件名案例
#在/root/202204目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串【20220428】
[ -d /root/202204 ] || mkdir -p /root/202204
rpm -qa |grep pwgen &>/dev/null
if [ $? -eq 1 ]
then
yum install pwgen -y &>/dev/null
fi
cd /root/202204 &&\
for i in {1..10}
do
#File_Name=`uuidgen |tr "0-9-" "a-z"|cut -c 1-10`
File_Name2=`pwgen -1A0 10`
touch ${File_Name2}_20220428.html
done
#2.2 【练习题2】批量改名特殊案例
改下上面脚本,生成以下文件:
要求:文件名中的 _20220501 字符串全部改成 _202205011100 (最好用for循环实现),并且将扩展名html全部改成大写。