Shell脚本 - for、while、until

Shell脚本 - for、while、until

echo命令用法

  • 格式

    echo [参数] [字符串]

  • 常用参数

    常用参数说明
    -n表示输出不换行
    -E禁止反斜杠转义,与-e参数功能相反
    -e输出转义字符,将转义后的内容输出到屏幕上

这边我们在echo -e后面可以添加很多转义符。

转义符说明
\b相当于退格键,但前提是“\b”后存在字符"\b"表示删除前一个字符"\b\b"表示删除前两个字符
\c不换行输出。后面无字符时相当于 echo -n"\c"后有字符时,将不被输出
\n换行,但是换行后的新行从“\n”处开始另起一行\f换行,但是换行后的新行的开头位置连接着上一行的行尾
\v与\f相同
\t转义后表示插入tab,即横向制表符\r光标移至行首,但不换行,相当于使用“\r”以后的数字覆盖之前相等长度的字符
\表示插入“\”本身
  • echo命令截取前后字符

    1.命令:echo ${i%,*}
    输出结果:11,22,33
    解析:从最后倒数到最短的匹配部分(用%)后面的逗号的地方被删除
    2.命令:echo ${i%%,*}
    输出结果:11
    解析:从最后倒数到最长的匹配部分(用%%)后面的逗号的地方被删除
    3.命令:echo ${i#*,}
    输出结果:22,33,44
    解析:从开头到最短的匹配部分(用#)后面的逗号的地方被删除
    4.命令:echo ${i##*,}
    输出结果:44
    解析:从开头到最长的匹配部分(用##)后面的逗号的地方被删除
    

for循环

  • for循环结构

    img

实例

  • 需求

    批量添加用户

  • 具体步骤

    1.用户名存放在users.txt文件中,每行一个
    2.初始密码为123456
    3.验证脚本

  • 脚本

    for name in $(cat /root/users.txt)
    do
      useradd $name
      echo 123456 | passwd --stdin $name &> /dev/null
    done
    

    img

在这里插入图片描述

while循环

  1. whil循环结构

    img

  2. 需求

    批量添加用户

  3. 具体

    • 用户名以stu开头,按顺序进行编号
    • 一共添加20个用户,即stu1、stu2、stu3…stu20
    • 初始密码均设置为123456
  4. 脚本

    a=1
    while [ $a -le 20 ]
    do
     useradd stu$a
     echo 123456 | passwd --stdin stu$a
     let a++
    done
    

    img

img

until循环

  1. 结构

    img

  2. 需求

    计算1-100所有整数和

  3. 命令

    a=1
    sum=0
    until [ $a -gt 100 ]
    do
      sum=$[$sum + $a]
      let a++
    done
    echo $sum
    

    img

img

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值