网站被降权会发生什么影响吗怀化汽车网站
Linux shell 脚本语句
1. for 循环流程控制
for 循环是 shell 脚本中用于重复执行一系列命令的流程控制结构,适合对列表中的每个元素执行相同或相似的操作。
1.1 基本语法格式
for 变量名 in 列表
do
循环体命令
done
其中,“变量名” 会依次取 “列表” 中的每个值,每次取值后执行 “循环体命令”,直到列表中的元素全部处理完毕。
还有第2种写法
for ((初始值; 限制值; 执行步长))
do
程序段
done
解释:
初始值:即循环初始值。例如:i=1
限制值:即循环条件。例如:i<=5
执行步长:即循环初始值修改。例如:i++
1.2 常见用法示例
- 遍历固定列表:列表为明确的多个值,用空格分隔。
比如,遍历水果列表并输出
执行后会依次输出 “我喜欢的水果:apple”“我喜欢的水果:banana”“我喜欢的水果:orange”。
遍历文件列表:列表为某个目录下的文件
比如我要找当前目录下的文本文件
若当前目录有 11.txt、ip.txt,会输出对应的文件名。
遍历数字范围:使用 “{起始值.. 结束值}” 表示数字范围。
比如输出1到5的数字
就会分别输出数字1到5
1.3生产案例示例
比如,我要统计 /var/log 有多少个文件,并且显示这些文件名,输入以下命令
这边分别解释一下这些
1. sum=0
作用:初始化变量 sum 为 0,用于后续统计文件数量。
2. for i in $(ls -r *); do
ls:列出目录内容。
-r:逆序排序(从 Z 到 A)。
*:匹配所有文件和目录(不包括隐藏文件)。
3.if [ -f "$i" ]; then
-f "$i"检查 $i 是否是普通文件(不是目录、链接等)。
注意:变量 $i 必须用双引号包裹("$i"),避免文件名含空格时出错。
4. let sum++
作用计数器 sum 加 1。
然后运行
2. while 循环
while 循环也是一种循环结构,它根据条件判断结果来决定是否重复执行循环体,只要条件为真,就会一直执行,直到条件为假时停止。
2.1 基本语法格式
while 条件判断
do
循环体命令
done
每次执行循环前都会先判断 “条件判断” 的结果,若结果为真(返回 0),则执行 “循环体命令”;若为假(返回非 0),则退出循环。
2.2 常见用法示例
- 基本条件循环:通过条件控制循环次数。比如从1数到5
执行后会依次输出 1 到 5 的计数。
- 无限循环:在语句在满足特定条件时退出无限循环。
其中 exit 0 为退出循环,当我只要输入的字符不是yes 则不会退出循环
3. case 语句
case 语句用于多分支条件判断,它将一个变量与多个模式进行匹配,当匹配到某个模式时,执行对应的命令块,适合处理多种固定的选择场景。
3.1 基本语法格式
case 变量 in
模式1)
命令块1
;;
模式2)
命令块2
;;
模式n)
命令块n
;;
*)
默认命令块 # 当变量与所有模式都不匹配时执行
;;
esac
“变量” 会依次与每个 “模式” 进行比较,匹配成功则执行对应的 “命令块”,每个命令块以 “;;” 结束;“*” 表示默认模式,匹配所有未被前面模式匹配的情况。
3.2 常见用法示例
- 简单菜单选择:根据用户输入的选项执行不同操作。比如查看当前目录,今天的日期
当用户输入 1 时,执行 ls -l 查看目录;输入 2 时,执行 date 查看时间;输入 3 时退出;输入其他内容时提示无效选项。
3.3生产案例示例
比如我要用case查看系统硬件的负载情况的信息(cpu,内存,磁盘)
保存以后分别运行,比如我输入1,就可以查看cpu的负载情况
我输入2,就可以查看内存的负载情况
输入1,2,3,4以外的数字就会提示