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. Pikachu-CSRF模块

    一.概述 Cross-site request forgery 简称为"CSRF",在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击, ...

  2. MySQL主从复制与Atlas读写分离

    配置主从复制 1. 增加主从配置 # 主库配置文件 server-id = 1 log-bin = /var/lib/mysql/mysql-bin expire_logs_days = 10 ski ...

  3. servlet中servletContext的五大作用(一)

    获取web的上下文路径 获取全局的参数 作为域对象使用 请求转发 读取web项目的资源文件 package day10.about_servletcontext.get_path; /** * 首先区 ...

  4. 统计学习:线性可分支持向量机(SVM)

    模型 超平面 我们称下面形式的集合为超平面 \[\begin{aligned} \{ \bm{x} | \bm{a}^{T} \bm{x} - b = 0 \} \end{aligned} \tag{ ...

  5. Go: 复合数据类型struct

    结构体 结构体是将零个或多个任意类型的命名变量组合在一起的聚合数据类型.每个变量都叫做结构体的成员. type Employee struct { ID int Name string age int ...

  6. C# - Timer 实现跑马灯

  7. Data Leakage in Machine Learning 机器学习训练中的数据泄漏

    refer to:  https://www.kaggle.com/dansbecker/data-leakage There are two main types of leakage: Leaky ...

  8. Python3-sqlalchemy-orm

    1 #-*-coding:utf-8-*- 2 #__author__ = "logan.xu" 3 4 5 import sqlalchemy 6 from sqlalchemy ...

  9. kratos

    技术文章 日志库的使用姿势 通过 layout 探索 kratos 运行原理 发版日志 发布日志 - kratos v2.0.5 版本发布 发布日志 - kratos v2.0.4 版本发布

  10. 前缀和的n个神奇操作

    前情回顾 前缀和的基础用法戳这里->传送门 众所周知,简单的前缀和解决的一般都是静态查询的问题,例如区间和.区间积等 操作的时候也很简单,就是根据需要来维护一个数组,每次查询的时候就用到tr[r ...