#!/bin/sh #add or del or search user #by zkg 2019-08-12 #通过传参的方式向/etc/user.conf文件里添加用户,要求如下: #(1) 命令用法如下: #USAGE:sh adduser {-add|-del|-search} username #(2) 传参要求: #如果参数为-add 则添加后面接的用户 #如果参数为-del 则删除后面接的用户 #如果参数为-search 则搜索后面接的用户 #(3) 如果有同名的用户则不能添加,没有对应用户则无需删除,查找到用户以及没有用户时给以明确提示 #(4) /etc/user.conf不能被所有外部用户删除或修改
#定义变量
USER_FILE=/etc/user.conf
FIRST=$1
SECORD_USER=$2
COUNT=echo $#
#判断文件是否存在 if [ ! -f $USER_FILE ];then echo "$USER_FILE is not exist,please create file" touch $USER_FILE fi chmod 644 $USER_FILE
#判断参数个数 if [ $COUNT -ne 2 ];then echo "USAGE:sh adduser {-add|-del|-search} username" exit 1 fi #判断用户名格式
if [ "echo "$SECORD_USER"|sed -r 's/[^a-zA-Z0-9]//g'
" = "$SECORD_USER" ];then
echo "the $SECORD_USER format is error,can not special characters"
exit 2
fi
#search funcation
funCheckUser(){
CHKCOUNT=grep -w "$SECORD_USER" $USER_FILE|wc -l
if [ $CHKCOUNT -eq 0 ];then
return 0
else
return 1
fi
}
#功能模块 #添加用户 #判断用户是否存在 funAddUser(){ funCheckUser if [ $? -eq 0 ];then echo "$SECORD_USER" >> $USER_FILE else echo "the $SECORD_USER is exist..." exit 3 } #删除用户 #判断用户是否存在 funDelUser(){ funCheckUser if [ $? -eq 0 ];then echo "there is no user" else sed -ri 's/^$SECORD_USER$//d' $USER_FILE exit 4 } #搜索用户 #判断用户是否存在 funSearchUser(){ funCheckUser if [ $? -eq 0 ];then echo "no user is match" else echo "$SECORD_USER is exist..." fi } case $FIRST in -add) funAddUser;; -del) funDelUser;; -search) funSearchUser;; *) echo "USAGE:sh adduser {-add|-del|-search} username" exit esac