目标:写一个用户管理脚本,脚本格式:./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