3.
第三次循环时,
$var
的内容为
con3
4.
....
我们可以做个简单的练习。假设我有三种动物,分别是
dog, cat, elephant
三种,
我想每一行都输出
这样:『
There are dogs...
』之类的字样,则可以:
[dmtsai@study bin]$
vim show_animal.sh
#!/bin/bash
# Program:
#
Using for .... loop to print 3 animals
# History:
# 2015/07/17
VBird
First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
for animal in dog cat elephant
do
echo "There are ${animal}s.... "
done
等你执行之后就能够发现这个程序运作的情况啦!让我们想象另外一种状况,由于系统上面的各种账
号都是写在
/etc/passwd
内的第一个字段,你能不能透过管线命令的
cut
捉出单纯的账号名称后,
id
分别检查使用者的标识符与特殊参数呢?由于不同的
Linux
系统上面的账号都不一样!此时实
际去捉
/etc/passwd
并使用循环处理,就是一个可行的方案了!程序可以如下:
[dmtsai@study bin]$
vim userid.sh
#!/bin/bash
# Program
# Use id, finger command to check system account's information.
# History
# 2015/07/17 VBird first
release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
users=$(cut
-
d ':'
-
f1 /etc/passwd)
#
账号
for username in ${users}
#
始循
环½
行!
do
id ${username}
done
执行上面的½本后,你的系统账号就会被捉出来检查啦!这个动作还可以用在每个账号的删除、重整
上面呢!
换个½度来看,如果我现在需要一连串的数字来½行循环呢?举例来说,我想要利用
ping
这个可以判断网络状态的指令,
来½行网络状态的实际侦测时,我想要侦测的网域是本机所在的
192.168.1.1~192.168.1.100
,由于有
100
台主机,
总不会要我在
for
后面输入
1
100
吧?此时
你可以这样做喔!