for 变量 in 列表; do
循环体
done
生成列表:
整数列表:
{NUM1,NUM2}
seq [NUM1 [STEP]] NUM2
例如:
计算1+...100的值:
#!/bin/bash
declare SUM=0
for I in {1,100} ;do
let SUM=4[$SUM+$I]
done
echo "the sum is $sum"
依次向/etc/passwd 中的每个用户问好,并显示对方的shell。并统计一共有多少个用户。
#!/bin/bash
LINES=`wc -l /etc/passwd | cut -d‘ ‘ -f1`
for I in `seq 1 $LINES` ;do
echo"hello,`head -n $I|tail -1|cut -d: -f1`"
done
写一个脚本:
添加10个用户user1到user10,密码通用户名,但要求只有用户不存在的情况下才能添加。
#!/bin/bash
for I in {1,10};do
if id user$1 &>/dev/null;then
echo "user$I exists."
else
useradd user$I
echo "user$I"|passwd --stdin user$I &> /dev/null
echo "user$I add ok"
fi
done
写一个脚本,输入2个参数。输入--add 添加10个用户,输入--del删除10个用户。
#!/bin/bash
if [ $# -t 1 ];then
echo "Usage:adminuser ARG"
exit 7
fi
if [ $1 == ‘--add‘]; then
for I in {1,10};do
if id user$1 &>/dev/null;then
echo "user$I exists."
else
useradd user$I
echo "user$I"|passwd --stdin user$I &> /dev/null
echo "user$I add ok"
fi
done
elif [$1 == ‘--del‘];then
for I in {1,10};do
if id user$1 &>/dev/null;then
userdel -r user$I
echo "user$I del ok"
else
echo "no user$I"
fi
done
else
echo "no such ARG"
exit 8
fi
接上题:
使用--add user1,user2...添加指定用户
使用--del 删除指定用户。
使用--help显示帮助
指定用的参数,各个用户用逗号隔开。
#!/bin/bash
if [ $1 == ‘--add‘ ];then
for I in `echo $2|sed ‘s/,//g‘`;do
if id $1 &>/dev/null; then
echo "$I exists"
else
useradd $I
echo $I|passwd --stdin $I &>/dev/null
echo "add $I"
fi
done
elif [ $1 == ‘--del‘ ];then
for I in `echo $2|sed ‘s/,//g‘`;do
if id $1 &>/dev/null; then
userdel $I
echo "del $I"
else
echo "$I not exist"
fi
done
elif [ $1 == ‘--help‘];then
echo "Usage: xxx.sh --add USER1,USER2... --del USER1,USER2 --help"
else
echo "unknow option"
fi
本文出自 “小私的blog” 博客,请务必保留此出处http://ggvylf.blog.51cto.com/784661/1606397
原文地址:http://ggvylf.blog.51cto.com/784661/1606397