for循环语法二

  • for ((初始值;循环控制条件;变量变化))
  •   do
  •     程序
  •   done

例子

例子-1 求和工具

需求:根据用户输入的数字,求1~输入所有数字的和

脚本:

  • #!/bin/bash
  • read -t 30 -p "输入终点数字:" num
  • sum=o
  • for (( i=1;i<=$num;i=i+1 ))
  •   do
  •     sum=$(( $sum+i ))
  •   done
  • echo "1+2+……$num=$sum"

例子-2 批量添加用户

前置命令:cat /etc/passwd 查看系统有多少用户

需求:测试部门增加30个用户

脚本:

  • #!/bin/bash
  • read -t 30 -p "需要添加用户的部门:" dept
  • read -t 30 -p "需要添加多少个用户:" num
  • read -t 30 -p "新增用户初始密码:" pass
  • if [ ! -z $dept -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=i+1 ))
  •       do
  •         #添加用户
  •         /usr/sbin/useradd $dept$i &> /dev/null
  •         #密码传递给--stdin,给用户添加密码$dept$i
  •         echo $pass | /usr/bin/passwd --stdin $dept$i &> /dev/null
  •       done
  •   fi
  • fi

例子-3 批量删除用户

前置命令:cat /etc/passwd 查看系统有多少用户

需求:删除所有普通用户

脚本:

  • #!/bin/bash
  • for i in $(cat /etc/passwd | grep /bin/bash | grep -v root | grep -v "test:" | cut -d ":" -f 1)
  •   do
  •     #连同用户家目录一起删除
  •     userdel -f $i
  •   done

Shell系列(36)- for循环语法二简介及批量添加删除用户的更多相关文章

  1. Shell系列(35)- for循环语法一简介及批量解压缩脚本

    for循环语法一 for 变量 in 值1 值2 值3 - do 程序 done 例子 需求:批量解压缩 脚本: #!/bin/bash cd /root/publicls *.tar.gz > ...

  2. shell脚本 批量添加删除用户

    2021-07-26 1.批量添加用户 # 编写脚本 vi add_student_50.sh # 添加用户组 student groupadd student # 添加用户 student1-stu ...

  3. Linux Shell系列教程之(十二)Shell until循环

    本文是Linux Shell系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环和Lin ...

  4. shell 脚本中所有循环语法

    写出 shell 脚本中所有循环语法 for 循环 : for i in $(ls);do echo item:$i done while 循环 : #!/bin/bash COUNTER=0 whi ...

  5. TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存

    WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1.首先获得某服务器的WorkItemStore. WorkIte ...

  6. Linux Shell系列教程之(二)第一个Shell脚本

    本文是Linux Shell系列教程的第(二)篇,更多shell教程请看:Linux Shell系列教程 通过上一篇教程的学习,相信大家已经能够对shell建立起一个大体的印象了,接下来,我们通过一个 ...

  7. (转)Linux Shell系列教程之(十四) Shell Select教程

    本文属于<Linux Shell 系列教程>文章系列,该系列共包括以下 18 部分: Linux Shell系列教程之(一)Shell简介 Linux Shell系列教程之(二)第一个Sh ...

  8. Linux Shell系列教程

    学习Linux Shell知识,就来Linux大学网(Linuxdaxue.com)! 本系列适合Linux初学者,属于Linux入门级教程,主要介绍了Shell的分类.语法格式以及脚本的使用和编写格 ...

  9. (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

    通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...

随机推荐

  1. linux service脚本

    vim /etc/systemd/system/node_exporter.service [Unit] Description=node_exporter Documentation=https:/ ...

  2. QZEZTEST2021.7.27分析

    T1 qzez 错误检测 题意 思路 代码 T2 qzez 比赛 题意 题面 有\(AB\)两队,每队\(n\)人,两队间进行\(n\)场比赛,每个人都要参赛,对手随机且概率均等.每人都有一个实力值, ...

  3. idea中Jrebe热部署l的安装和激活

    安装上这个插件,就不需要再改代码后重复启动服务了,还是很方便的!!! 一.在Idea中,打开File-------->Settings-------->Plugins里面的MarketPl ...

  4. HBuilder mui 手机app开发 Android手机app开发 ios手机app开发 打开新页面 预加载页面 关闭页面

    创建子页面 在mobile app开发过程中,经常遇到卡头卡尾的页面,此时若使用局部滚动,在android手机上会出现滚动不流畅的问题: mui的解决思路是:将需要滚动的区域通过单独的webview实 ...

  5. javascript html 鼠标放大镜效果

    1.鼠标放大镜效果 鼠标放大镜效果,将鼠标移入到左图片,则可以在其右边看到放大的图片,且鼠标移动滑块的大小即为右图显示图片.实际效果如下图所示:   <!DOCTYPE html> < ...

  6. 2018秋招C/C++面试题总结

    一.C和C++的区别是什么? C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛.C中函数不能进行重载,C++函数可以重载C++在C的基础上增添类,C是一个结构化语言,它 ...

  7. C# 正则表达式的重点知识 1

  8. C# 二维数组 [,]与[][] 的区别 及特性

    arr[,] 用于声明等长的二维数组 Eg: //声明数组有3行 每行长度相等为2 var s = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 1, 4 } }; 获取 ...

  9. 七:使用Session进行会话管理

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...

  10. android Handler消息通信

    1 package com.example.testhandler; 2 3 import android.os.Bundle; 4 import android.os.Handler; 5 impo ...