例1:
[root@master shell]# cat for_1.sh #!/bin/bashfor n in A B C D E F G
do
echo "The next letter is $n"
done
[root@master shell]# sh for_1.sh
The next letter is A
The next letter is B
The next letter is C
The next letter is D
The next letter is E
The next letter is F
The next letter is G
后面追加字符,前面要有空格,这样遍历才能区分开
例1:
[root@master shell]# cat for_2.sh #!/bin/bash
list="A B C D E F"
list=$list" G"for n in$listdoecho"The next letter is $n"done
[root@master shell]# sh for_2.sh
The next letter is A
The next letter is B
The next letter is C
The next letter is D
The next letter is E
The next letter is F
The next letter is G
for循环查看在终端执行后的结果
例1:
[root@master shell]# cat for_3.sh #!/bin/bashfor state in `ls /root`
doecho"Have you ever visited $state?"done
[root@master shell]# sh for_3.sh
Have you ever visited admin-openrc?
Have you ever visited anaconda-ks.cfg?
Have you ever visited demo-openrc?
Have you ever visited python?
Have you ever visited rhel-server-7.2-x86_64-dvd.iso?
for循环遍历文件
例1:
[root@master shell]# cat for_4.sh#!/bin/bash
for file in /mnt/*
doif [ -d"$file" ];thenecho"$file is a directory"elif [ -f"$file" ];thenecho"$file is a file"fidone
[root@master shell]# sh for_4.sh
/mnt/file1 is a file
/mnt/file10 is a file
/mnt/file2 is a file
/mnt/file3 is a file
/mnt/file4 is a file
/mnt/file5 is a file
/mnt/file6 is a file
/mnt/file7 is a file
/mnt/file8 is a file
/mnt/file9 is a file
遍历例1:[root@master shell]# cat for_1.sh #!/bin/bashfor n in A B C D E F Gdo echo "The next letter is $n"done [root@master shell]# sh for_1.sh The next letter is AThe next letter is BTh