编写脚本-通过传参的方式向/etc/user.conf文件里添加用户

#!/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值