Shell系列(36)- for循环语法二简介及批量添加删除用户
2023-02-18 16:27:26 时间
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
相关文章
- [PHP] PHP7以上版本的引用计数不同的困惑
- [MySQL]ANALYZE TABLE 更新索引基数
- [Docker] 使用docker inspect查看宿主机与容器的共享目录
- [日常] nginx与location规则
- [日常] nginx反代websocket
- [日常] nginx与HTTP cache
- [日常] nginx访问频率限制
- [日常] nginx与负载均衡
- [HTTP]HTTP/1.1 协议Expect: 100-continue
- [日常] 研究redis未授权访问漏洞利用过程
- [MySQL]mysql binlog回滚数据
- [日常] CentOS安装最新版redis设置远程连接密码
- [PHP]PHP中申明 declare(strict_types=1)的作用
- [日常] Apache Order Deny,Allow的用法
- [日常] 读取队列并循环发信的脚本
- [日常] 20号日常工作总结
- [日常] SinaMail项目和技术能力总结
- [日常] MySQL的预处理技术测试
- [日常] MySQL内存不足启动失败的解决方法
- [日常] 正则表达式模式修正符简单测试