您的位置:首页 > 运维架构 > Shell

Shell脚本之for语句

2018-01-27 11:05 260 查看
遍历

例1:
[root@master shell]# cat for_1.sh
#!/bin/bash

for 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 $list
do
echo "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/bash
for state in `ls /root`
do
echo "Have you ever visited $state?"
done
[root@master sh
4000
ell]# 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/*
do
if [ -d "$file" ];then
echo "$file is a directory"
elif [ -f "$file" ];then
echo "$file is a file"
fi
done
[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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: