不定循环 while do done, until do done
1】 while循环语句
while [ condition ];do
命令
done
2】 while [ condition ]
do
命令
done
固定循环 for … do done
#!/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的均值
#!/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
#!/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