for循环语句
1. 命令 seq(输出数字)
expr(在两个数或字符串之间的运算,且遵从四则运算)
注意:运算符两边必须有空格
- 加 +
- 减 -
- 乘 *
- 除 /
运行结果
在linux里新创建目录,并在目录里创建文件
mkdir -p package # 新创建目录package
cd package # 进入package目录
touch aa.sh # 在package 目录里创建aa.sh文件
cd .. # 回到上级目录
2.for的基本用法
#!/bin/bash
for 变量 in 字符串
do
语句1
done
3,案例一,输出数字1~5的循环
#!/bin/bash
for i in `seq 1 5` # 问题 1.定义变量i 2.范围在1~5间 3.必须用``括起来(在键盘Tab上边)
do
echo "This number is $i" # 问题 1.利用上边定义的变量i输出
done
运行结果
4.案例二,1~100求和
#!/bin/bash
sum=0 # 问题 1.定义容器sum
for (( i=0;i<=100;i++ )) # 问题 1.求和运算用(()) 2.定义i
do
sum=`expr $sum + $i` # 问题 1.运算式必须用``符号包起来,否则无效,且(重点)
# 2.用 expr
done
echo -e "\033[32m 0~100的和是 $sum \033[1m"
运行结果
5.案例三,找到相关log,然后批量打包
例如:在package目录下边有许多.sh文件
在当前目录下查找所有的xxx.sh文件find . -name "*.sh"
上级目录下查找find .. -name "*.sh"
在某一目录下查找:find /目录路径/ -name "*.sh"
清屏:clear
#!/bin/bash
########################
#for 循环批量压缩文件
for i in `find /home/bianhailong/package -name "*.sh"`
do
tar -czvf 2020$i.tgz $i
done
调试脚本代码
sh -n xxx.sh
可以看到程序运行的全过程
报错:ubuntu版本问题,百度解决