shell编程之循环语句与函数
1、循环语句
循环语句就是从初始值开始一直运行到不符合条件为止,如果条件无限制就进入死循环,直到系统崩溃。
语法与运行的步骤,: for(1初始值; 2条件; 4值变化){ 3运行的代码}
while (1条件){2运行代码} 当型
do{ 1运行代码} while (2条件); 直到型
(1)for 循环语句及实验案例
for循环的有三种表达方式
for i in {1…10} 或者for {1…10…2} 每循环一次值加2
for $ (seq 1 10) 或者for $ (seq 1 2 10)
for ((i=1; i<=10; i++)) 或者for (i=1; i<=10; i+=2))
1.示例一批量创建用户并添加密码
[root@localhost~]# vi /root/users.txt
[root@localhost~]# vi uaddfor.sh
#!/bin/bash
ULIST=$(cat /root/users.txt)
for UNAME in $ULIST
do
useradd $UNAME
echo "123456"l passwd --stdin $UNAME &>/dev/null
done
[root@localhost~]# chmod +x uaddfor.sh ##给脚本添加执行权限
[root@localhost~]#./uaddfor.sh ##执行shll脚本
[root@localhost~]# tail -3/etc/passwd ##查看运行结果
chenye:x:1005:1005:/home/chenye:/bin/bash
dengchao:x:1006:1006/home/dengchao:/bin/bash
zhangjie:x:1007:1007:./home/zhangjie:/bin/bash
2.检测ip地址并查看主机状态
[root@kgc ~]# vi /root/ipadds.txt
ip 20.0.0.1
ip 20.0.0.2
ip 20.0.0.30
ip 20.0.0.100
[root@kgc ~]# vi ipadds.sh
#!/bin/bash
H=$(cat /root/ipadds.txt)
for IP in $H
do
ping -c 3 -i 0.2 -W 3 $IP &> /dev/null
if [ $? -eq 0 ]
then
echo "host $IP is up" && echo "host $IP is up" >>/root/ipup.txt
else
echo "host $IP is donw" && echo "host $IP is down" >>/root/ipdown.txt
fi
done
3.编写一个三角形脚本
[root@iZ2ze55shryd8h41eshykiZ ~]# vi zhengsanjiao
#!/bin