Shell循环语句详解--for循环

目录

一.for循环基本格式

 二.for循环脚本

2.1测试主机状态

 2.2乘法表


引言:在shell编程中,除了选择判断之外,对一些特殊情况需要进行循环操作,比如遍历目录文件,批量添加用户等操作,都需要循环操作

语法格式:

for 变量名 in 取值列表
do
命令
done

for i in {1..9};do echo $i;done
{1..9}为取值范围1到9
echo $i 输出当前的取值

 

for((i=1;i<=9;i++));do echo $i;done
使用(())双括号,可以支持C语言的一些命令
i=1;i<=9;i++ #i初始值为1,如果i小于等于9时执行循环,每次循环后+1

for i in `seq 9`;do echo $i;done
seq 5 与{1..9}效果一样

for i in `seq 5`;do echo "hello world";done
使用变量i 循环5次
每次执行echo "hello world"命令

使用for循环遍历当前目录

 二.for循环脚本

利用for循环,实现的简单脚本

2.1测试主机状态

检测局域网内,主机存活状态

#!/bin/bash
for IP in `cat /root/for/ip.txt`    #ip文件为存放ip地址的
do
  ping -c 3 -i 0.2 -w 3 $IP &>/dev/null #-c 3 ping3次主机 -i 0.2ping主机间隔 -w 3ping主机超时间隔
  if [ $? -eq 0 ];then
  echo "host $IP is up"
  else echo "host $IP is down"

 2.2乘法表

#!/bin/bash
for ((i=1;i<=9;i++))     #此处也可以写  for i in {1..9}
  do
     for ((j=1;j<=i;j++))  #此处也可写 for j in `seq $i`
       do echo -n -e "$j*$i=$[j*i]\t" #-n不换行输出;-e使用\转义符;\t横向制表;若不用-e,则\t为普通字符
       done
  echo
  done

1.for循环在实际生成中应用非常多,避免人工重复的去操作某个事情
2.for循环中的列表支持正则表达式
3.for循环中使用(()),双括号内支持C语言的命令
4.for循环中的变量,只是循环去取值列表中取值,然后进行do操作,所以取值列表中的参数个数,决定了循环的次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值