Shell系列(36)- for循环语法二简介及批量添加删除用户
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循环语法二简介及批量添加删除用户的更多相关文章
- Shell系列(35)- for循环语法一简介及批量解压缩脚本
for循环语法一 for 变量 in 值1 值2 值3 - do 程序 done 例子 需求:批量解压缩 脚本: #!/bin/bash cd /root/publicls *.tar.gz > ...
- shell脚本 批量添加删除用户
2021-07-26 1.批量添加用户 # 编写脚本 vi add_student_50.sh # 添加用户组 student groupadd student # 添加用户 student1-stu ...
- Linux Shell系列教程之(十二)Shell until循环
本文是Linux Shell系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环和Lin ...
- shell 脚本中所有循环语法
写出 shell 脚本中所有循环语法 for 循环 : for i in $(ls);do echo item:$i done while 循环 : #!/bin/bash COUNTER=0 whi ...
- TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存
WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1.首先获得某服务器的WorkItemStore. WorkIte ...
- Linux Shell系列教程之(二)第一个Shell脚本
本文是Linux Shell系列教程的第(二)篇,更多shell教程请看:Linux Shell系列教程 通过上一篇教程的学习,相信大家已经能够对shell建立起一个大体的印象了,接下来,我们通过一个 ...
- (转)Linux Shell系列教程之(十四) Shell Select教程
本文属于<Linux Shell 系列教程>文章系列,该系列共包括以下 18 部分: Linux Shell系列教程之(一)Shell简介 Linux Shell系列教程之(二)第一个Sh ...
- Linux Shell系列教程
学习Linux Shell知识,就来Linux大学网(Linuxdaxue.com)! 本系列适合Linux初学者,属于Linux入门级教程,主要介绍了Shell的分类.语法格式以及脚本的使用和编写格 ...
- (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加
通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...
随机推荐
- linux service脚本
vim /etc/systemd/system/node_exporter.service [Unit] Description=node_exporter Documentation=https:/ ...
- QZEZTEST2021.7.27分析
T1 qzez 错误检测 题意 思路 代码 T2 qzez 比赛 题意 题面 有\(AB\)两队,每队\(n\)人,两队间进行\(n\)场比赛,每个人都要参赛,对手随机且概率均等.每人都有一个实力值, ...
- idea中Jrebe热部署l的安装和激活
安装上这个插件,就不需要再改代码后重复启动服务了,还是很方便的!!! 一.在Idea中,打开File-------->Settings-------->Plugins里面的MarketPl ...
- HBuilder mui 手机app开发 Android手机app开发 ios手机app开发 打开新页面 预加载页面 关闭页面
创建子页面 在mobile app开发过程中,经常遇到卡头卡尾的页面,此时若使用局部滚动,在android手机上会出现滚动不流畅的问题: mui的解决思路是:将需要滚动的区域通过单独的webview实 ...
- javascript html 鼠标放大镜效果
1.鼠标放大镜效果 鼠标放大镜效果,将鼠标移入到左图片,则可以在其右边看到放大的图片,且鼠标移动滑块的大小即为右图显示图片.实际效果如下图所示: <!DOCTYPE html> < ...
- 2018秋招C/C++面试题总结
一.C和C++的区别是什么? C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛.C中函数不能进行重载,C++函数可以重载C++在C的基础上增添类,C是一个结构化语言,它 ...
- C# 正则表达式的重点知识 1
- C# 二维数组 [,]与[][] 的区别 及特性
arr[,] 用于声明等长的二维数组 Eg: //声明数组有3行 每行长度相等为2 var s = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 1, 4 } }; 获取 ...
- 七:使用Session进行会话管理
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...
- android Handler消息通信
1 package com.example.testhandler; 2 3 import android.os.Bundle; 4 import android.os.Handler; 5 impo ...