通过传参的方式往/etc/user.conf里添加用户

实现通过传参的方式往/etc/user.conf里添加用户,具体要求如下:
1)命令用法:
USAGE: sh adduser {-add|-del|-search} username 
2)传参要求:
如果参数为-add时,表示添加后面接的用户名,
如果参数为-del时,表示删除后面接的用户名,
如果参数为-search时,表示查找后面接的用户名,
3)如果有同名的用户则不能添加,没有对应用户则无需删除,查找到用户以及没有用户时给出明确提示。
4)/etc/user.conf不能被所有外部用户直接删除及修改 


#!/bin/bash
file="/etc/user.conf"

#1.$# num
if [ $# -ne 2 ]
  then
    echo "USAGE: sh adduser {-add|-del|-search} username"
    exit 1
fi

#2.$1 Conform to meet the conditions
[ "$1" = "-add" -o "$1" = "-del" -o "$1" = "-search" ]||{
    echo "USAGE: sh adduser {-add|-del|-search} username"
    exit 2
}
#To determine the user
[ "$UID" = "0" ]||{
   echo "Please use the root user operation"
   exit 3
}

#3 File exists
[ -f "$file" ]||touch $file
[ "$(stat -c %a /etc/user.conf)" = "700" ]||\
chmod 700 $file
name=$(grep "\b$2\b" $file|wc -l)

#4.-add Processing method
if [ "$1" = "-add" -a $name -ne 1 ]
  then
    echo "$2">>$file
    echo " user $2 add successful"
  elif [  "$1" = "-add" -a $name -eq 1 ]
   then
    echo " user $2 exist please input again"
    exit 4
#5.-del Processing method
  elif [  "$1" = "-del" -a $name -eq 1 ]
   then
     sed -i "/$2/d" $file >/dev/null &&\
     echo  "user $2 del successful"
  elif [  "$1" = "-del" -a $name -ne 1 ]
   then
     echo  "No user, do not need to del"
     exit 5
#6.-search Processing method
  elif [  "$1" = "-search" -a $name -eq 1 ]
   then
     echo "user $2 exist"
     exit 0
    elif [  "$1" = "-search" -a $name -ne 1 ]
   then
     echo " $2 No user"
     exit 0
fi




你可能感兴趣的:(用户名)