美文网首页
Bash 中的 for 循环

Bash 中的 for 循环

作者: Monsty | 来源:发表于2018-05-18 09:56 被阅读0次

基本格式

for [变量] in [取值列表]
do
    [各种操作]
done

或者使用分号 ; 分割语句:

for [变量] in [取值列表]; do [各种操作]; done

取值列表大致可以分成枚举和迭代两类

枚举

取值列表为空格或回车符分割的字符串

for i in 'apple' 'meat' 'sleep' 'woman'
do
    echo I like $i
done

迭代

花括号 { }
• 数字迭代,比如 {1..100}
• ASCII字符迭代,比如 {a..A}
来计算一下1加到100的和

ans=0
for i in {1..100}
do
    let ans+=$i
done
echo $ans

结果是5050.
花括号的迭代还可以指定指定增量,格式如下:
{start..end..sep}
打印1到100以内的所有奇数:

for i in {1..100..2}; do echo $i; done

使用 seq

需要配合命令替换使用。seq 命令的格式为:
seq 首数 [增量] 末数

例子

用脚本来ping一下局域网内的主机:

#!/bin/bash
PREFIX=192.168.1.
for i in `seq 100 110`
do
    echo -n "${PREFIX}$i "
    ping -c5  ${PREFIX}${i} >/dev/null 2>&1
    if [ "$?" -eq 0 ];then
        echo "OK"
    else
        echo "Failed"
    fi
done

当然了for循环也可以写作 for i in {100..110}
终端运行的结果

jerry@X:~$ bash ping.sh 
192.168.1.100 Failed
192.168.1.101 Failed
192.168.1.102 OK
192.168.1.103 OK
192.168.1.104 OK
192.168.1.105 OK
192.168.1.106 Failed
192.168.1.107 Failed
192.168.1.108 Failed
192.168.1.109 Failed
192.168.1.110 Failed

C 风格 for 循环

Bash 还支持 C 语言风格的 for 循环,这个很好理解,我们直接来看例子,去计算一下 1 到 100 的和。

ans=0
# 注意,这里的 for 循环要有两层括号。
for ((i=1;i<=100;i++))
do
    let ans+=$i
done
echo $ans

相关文章

  • Bash 中的 for 循环

    基本格式 或者使用分号 ; 分割语句: 取值列表大致可以分成枚举和迭代两类 枚举 取值列表为空格或回车符分割的字符...

  • bash中的for循环

    参考: https://www.cyberciti.biz/faq/bash-for-loop/

  • Linux笔记15-bash基本语法

    赋值 循环 for 循环 例: 参考 https://www.yiibai.com/bash/bash-for-l...

  • Shell结构化命令(2):控制流

    for循环 bash shell中for循环的基本格式: 也可以将do语句和for语句放在同一行,但必须用分号将其...

  • Shell结构化命令:控制流(下)

    for循环 bash shell中for循环的基本格式: 也可以将do语句和for语句放在同一行,但必须用分号将其...

  • Bash编程006——循环语句(一)

    Bash编程006——循环结构 循环是计算机科学运算领域的用语,也是一种常见的控制流程。循环是一段在程序中只出现一...

  • Shell循环

    Bash Shell中有三种循环方式:for / while / util for 循环 语法结构 : 详细示例:...

  • bash的for间隔循环例子

    我们经常需要在shell里面做循环操作,比如每隔几秒检查状态, 或者做什么事; 下面的代码例子,每隔5秒做一件事,...

  • linux bash until循环

    until循环执行一系列命令直至条件为真时停止。 until循环与while循环在处理方式上刚好相反。 一般whi...

  • Shell 循环语句(四) select

    Bash 还提供了 select 循环。其语法如下所示: select 循环语句有如下特点: select 语句使...

网友评论

      本文标题:Bash 中的 for 循环

      本文链接:https://www.haomeiwen.com/subject/mjbwdftx.html