shell循环语句

不定循环 while do done, until do done

  • 语法
	1】 while循环语句
	 while [  condition ];do
	  命令
	  done
	2】 while [ condition ]
	    do
	    命令
	    done

固定循环 for … do done

  • 查看系统负载情况,并每隔 2s 打印
#!/bin/bash
while true
 do
  uptime
  sleep 2
 done

在这里插入图片描述

uptime
   21:06:29 up  5:27,  4 users,  load average: 0.08, 0.07, 0.06
 #当前服务器时间:    21:06:29
#当前服务器运行时长   5:27,
#当前用户数          4users
#当前的负载均衡      load average  0.08, 0.07, 0.06,分别取1min,5min,15min的均值
  • 求1-100的总和
#!/bin/bash
a=1
sum=0
while [ $a -le 100 ]; do
  sum=$(($sum+$a))
  a=$(($a+1))
done
echo " 1-100的 总和为  $sum"

在这里插入图片描述

  • 求 1 * 1, 2 * 2, 3 * 3 ,4 * 4 ,5 * 5 的值
  • 加上let 可以使语法更简便
#!/bin/bash
i=0
until [ $i -gt 5 ] #大于5时退出循环
do
 let square=i*i
 echo "$i * $i= $square"
 let i++
done

在这里插入图片描述

循环语句

  • for循环语句
  • for… do … done循环
  • 语法
for 变量名  in 变量取值列表
do
#命令
done
#提示:在此结构中 "in变量取值列表"可省略,省略时相当于使用 for in "$@" , (使用脚本文件传参过来的值)

For循环

#!/bin/bash
for a in 5 4 3 2 1
do
 echo "a= $a"
done

在这里插入图片描述

  • 简便写法 2
#!/bin/bash
for a in $( seq -s " " 5 -2  1 ) #开始值 步长 终点
do
 echo "a= $a"
done

在这里插入图片描述

  • 简便写法
#!/bin/bash
for a in {5..1}
do
 echo "a= $a"
done

在这里插入图片描述

  • 获取当前目录下的文件
#!/bin/bash
#get all filename is specified path
path=./
files=$(ls $path)
for fname in $files
do
 echo $fname
done

在这里插入图片描述

课件分发脚本步骤

  • 生成公钥私钥对
  • 将公钥发送给分课件服务器们
  • 编写课件分发的shell脚本
1、创建ips文件
2、创建shell文件send.sh
      for p in $(cat /home/hadoop/shell/sendDir/ip)
      do
         scp /home/hadoop/shell/test.sh root@$ip:/root
         done
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值