shell脚本之循环语句

for循环

语法1:

for i in 集合

do

程序

done

语法2:

for ((i=0;i<=100;i++))

do

程序

done

eg:批量压缩文件

#!/bin/bash

#批量压缩文件

cd /root/

ls *.tar.gz > ls.log

for i in $(cat ls.log)

do

tar -zxf $i &> /dev/null #&> /dev/null 把打印的信息输出都/dev/null文件中,这个文件相当一个回收站

done

eg :求1到100的和

#!/bin/bash

#求1到100的和

s=0

for ((i=0;i<=100;i++))

do

s=$(($s+$i))

done

echo $s

eg:批量添加指定数量的用户

#!/bin/bash

read -p "please input user name:" -t 30 name

read -p "please input the number of users: " -t 30 num

read -p "please input the password of users: " -t 30 pass

if [! -z "$name" -a ! -z "$num" -a ! -z "$pass" ]

then

y=$(echo $num | sed 's/[0-9]//g')

if [-z "$y"]

        then 

        for ((i=1;i<=$num;i++))

           do 

            /usr/sbin/useradd $name$i  &> /dev/null

           echo $pass | /usr/bin/passwd --stdin $name$i  &> /dev/null   #给用户名赋初始值 ,用stdin接收$pass值

         done

fi

while循环  :while循环是不定循环,也称条件循环,只要条件判断式成立,循环就会一直继续,直到条件判断式不成立,循环才会停止。这就和for的固定循环不太一样

语法:

while [ 条件判断式1 ]

do 

程序

done

eg:

#!/bin/bash

#从1加到100

i=1

s=0

while [ $i -le 100]

#如果变量i的值小于等于100,则执行循环

        do

               s=$(( $s+$i ))

               i=$(( $i+1 ))

       done

echo "The sum is :$s"

until循环

until循环,和while循环相反,until循环时只要条件判断式不成立则进行循环,并执行循坏程序。一旦循环条件成立,则终止循环。

until [ 条件判断式 ]

 do

程序

done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值