Shell---for循环

来源:互联网 发布:天池大数据竞赛入门 编辑:程序博客网 时间:2024/05/21 07:50

for 循环

语法一:

for 变量 in value1 value2 value3...    do         // do something    done

语法二 :

for (( 初始值;循环控制条件;变量变化 ))    do        // do something    done

案例一:

#!/bin/bashfor i in 1 2 3 4 5        do                echo $i        done

案例二:

#!/bin/bashresult=0for ((i=1;i<=100;i=i+1))        do                result=$(($result+$i))        doneecho $result 

案例三,批量添加用户:

#!/bin/bashread -p "请输入用户名:" nameread -p "请输入创建用户的数量" numberread -p "请输入密码:" passwordif [ -n "$name" -a -n "$number" -a -n "$password" ]        then                # 判断数量是否是数字                flag=`echo $number | sed "s/[0-9]//g" `                if [ -n flag ]                        then                        for (( i=1;i<=$number;i=i+1 ))                                        do                                                /usr/sbin/useradd $name$i                                                echo $passwd | /usr/bin/passwd --stdin $name$i                                                echo "成功添加用户$name$i,密码$passwd\n"                                                done                fielse        echo "不能为空"fi

案例四,批量删除用户:

#!/bin/bash# 批量删除用户read -p "请输入需要删除的用户名:" namelist=$(cat /etc/passwd | grep $name | cut -d ":" -f 1)for i in $list        do                userdel $i        done      

while 和 util

语法:

# 条件满足时执行循环while [ 条件判断式 ]    do         // do something    done
# 条件满足时退出循环until [  条件判断式 ]    do         // do something    done 

案例五:

[root@localhost sh]# vim while.sh #!/bin/bash# 测试while循环i=1s=0while [ "$i" -le 100 ]        do                s=$(( $s+$i ))                i=$(( $i+1 ))        doneecho $s

案例六:

#!/bin/bashi=1s=0until [ "$i" -gt 100 ]        do                s=$(( $s+$i ))                i=$(( $i+1 ))        doneecho $s