shell-06-for循环及批量远程命令脚本

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版本问题,百度解决

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值