shell之for、while、until循环、双重循环

本文详细介绍了Shell编程中的循环语句,包括for、while、until三种类型的循环,以及如何构建双重循环。通过示例展示了如何批量添加用户、执行命令、猜商品价格等实际应用场景。还特别提到了IFS(Internal Field Separator)在实现九九乘法表中的作用。
摘要由CSDN通过智能技术生成

shell编程循环语句

  • 读取不同的变量值,用来逐个执行同一组命令
格式:
for 变量名 in  聚会列表
 do
   命令序列
 done
  • for执行命令图
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 求1-100的整数和
/1-100整数和:

[root@localhost ~]# sum=0
[root@localhost ~]# for i in $(seq 1 100)
> do
> sum=$[$sum + $i]
> done
[root@localhost ~]# echo $sum
5050

for语句应用示例

  • 批量添加用户
  • 用户名存放在users.txt文件中,每行一个,初始密码设置为123456,验证脚本
创建一个users文本文件
vim users.txt
新那一个shell脚本文件
vim demo1.sh
#!/bin/bash
user=$(cat ~/users.txt)    /将users.txt文件内容赋值给user变量
for i in $user
 do
   useradd $i
   echo 12345 | passwd --stdin &> /dev/null
   /一个一个设置密码,并将提示信息吸入黑洞
 done
-----------------------------------------------------------
验证脚本
cat /etc/passwd  
cat /etc/shadow
  • 根据IP地址查看主机状态
#!/bin/bash

ip=$(cat ~/ping.txt)

for a in $ip

   do
      ping -c 3 -i 0.5  -W 2 $a &> /dev/null

       if [ $? -eq 0 ]; then    //格式一定要注意留空格

           echo "主机在线:"

         else

           echo "主机不在线:" 

       fi

   done

while语句结构

while语句结构

while 条件测试操作
 do
   命令序列
 done
  • 根据特定条件反复执行一个命令序列,直到不满足条件为止
  • 编写时可能会出现死循环,要避免这种情况发生
  • true(真)和false(假)为特殊条件测试操作,也可以在if语句的条件测试中使用
  • true作为条件时,表示条件永远成立,无限执行,也就是死循环,需要强制终止
  • false作为条件时,表示条件不成立,不执行命令序列

while小实验

  • 批量添加用户; 用户名称以stu开头,按数字顺序进行编号
vim demo2.sh
#!/bin/bash
a=1
while [ $a -le 10 ]
do
  useradd  stu$a
  echo 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值