Shell for循环

for循环使用方法

1、for … in 语句

语句格式如下:

for 变量 in 列表
do
    command1
    command2
    ...
    commandN
done

定义说明:

  • 列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。
  • 每循环一次,就将列表中的下一个值赋给变量。
  • in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。

示例1:顺序输出当前列表中的数字

#!/bin/bash

for loop in 1 2 3
do
  echo "$loop"
done

脚本运行结果如下:

1
2
3

示例2:顺序输出字符串中的字符

#!/bin/bash

for str in "This is a string"
do
  echo "$str"
done

脚本运行结果如下:

This is a string

示例3:显示主目录下以 .bash 开头的文件

#!/bin/bash

for FILE in $HOME/.bash*
do
  echo $FILE
done

脚本运行结果如下:

/root/.bash_history
/root/.bash_logout
/root/.bash_profile
/root/.bashrc

2、for((赋值;条件;运算语句))

语句格式如下:

for((赋值;条件;运算语句))
do
    command1
    command2
    ...
    commandN
done

示例:循环输出1到10的数字

#!/bin/bash

for((i=1;i<=10;i++))
do
  echo $i
done

脚本运行结果如下:

1
2
3
4
5
6
7
8
9
10