Shell脚本实战(三):实现一个多功能的用户管理脚本

本文介绍了如何编写一个Shell脚本,用于在Linux系统中实现用户管理,包括创建、删除用户,设置密码和指定用户Shell。脚本接受不同参数进行操作,如-a创建用户,-d删除用户,-p设置自定义密码等。用户信息存储在userlist文件中,脚本还具备错误处理和状态码反馈功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:写一个用户管理脚本,脚本格式:./script [-h | -a | -d | -m | -p PASSWORD | -s shell] userlist
选项说明
-a 从文件userlist中创建用户
-d 删除用户
-h 打印帮助信息
-m 使用默认密码:redhat
-p 自定义密码
-s 创建用户时指定shell
注意事项

  • userlist是事先建立的用户名文件,里面每行是一个用户名,这里的userlist内容有五行,分别为:a,b,c,d,e
  • 脚本参数无序也能执行
  • 短选项可连写
  • 脚本根据不同情况返回不同的状态码
  • 参数错误能报错
  • 不显示多余输出信息
  • 用户已存在需提示

从编写到调试成功,花了两个多小时,有点慢对有些语法语句还是不够熟练。代码如下

if [ $# -eq 0 ]; then           # 判断是否有参数
  2         echo "请输入参数"
  3         exit 1
  4 fi
  5 
  6 
  7 set -- `getopt -q hadmp:s: $@`  # 保证脚本参数无序也能执行
  8 sh=/bin/bash                    # 创建用户时默认登录shell
  9 passwd=redhat                   # 默认密码
 10 flag_add=0                      # 添加用户标志位
 11 flag_del=0                      # 删除用户标志位
 12 
 13 
 14 while [ $# -ne 0 ]; do          # 参数判断
 15         case $1 in
 16                 -h)
 17                         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值