随笔——怎样用shell实现用户管理(增加,删除)

方法一:

#!/bin/bash
Input_Action()
{
echo "请输入你想要的操作!"
read -p "[c]reate [D]elete [E]ixt" ACTION
ACTION=`echo $ACTION | tr 'a-z' 'A-Z'`
echo $ACTION
echo "==================================="
[ "$ACTION" != "C" -a "$ACTION" != "D" -a "$ACTION" != "E" ] && {
echo 输入错误,请重新输入!!
Check_Action
}
[ "$ACTION" = "C" ] && {
Check_Username
                       }
[ "$ACTION" = "D" ] && {
Delete_Username
                        }
[ "$ACTION" = "E" ] && {
        echo 退出!!
        exit
                        }
}


Check_Username()
{
read -p "请输入你想创建的用户名:" USERNAME
id $USERNAME &>/dev/null && {
echo "这个用户已经存在!!"
Input_Action
}||{
Create_Username
}
}
Create_Username()
{
useradd $USERNAME
read -p "请输入密码:" passwd
echo $passwd | passwd --stdin $USERNAME &>/dev/null && echo 创建成功
echo “===================================”
Input_Action

}

Delete_Username()
{
read -p "请输入想要删除的用户名:" USERNAME
id $USERNAME &>/dev/null && {
        userdel -r $USERNAME &&
        echo "成功删除用户$USERNAME!!"
        Input_Action

}||{
        echo “没有该用户,请重新选择操作!”
        echo "==========================="
        Delete_Username
}
}

echo "请输入你想要的操作!"
read -p "[c]reate [D]elete [E]ixt" ACTION
ACTION=`echo $ACTION | tr 'a-z' 'A-Z'`
echo $ACTION
echo "==================================="
[ "$ACTION" != "C" -a "$ACTION" != "D" -a "$ACTION" != "E" ] && {
echo 输入错误,请重新输入!!
Input_Action
}

[ "$ACTION" = "C" ] && {
read -p "请输入你想创建的用户名:" USERNAME
id $USERNAME &>/dev/null && {
echo "这个用户已经存在!!"
Input_Action
}||{
Create_Username
}
}
[ "$ACTION" = "D" ] && {
read -p "请输入你想删除的用户名:" USERNAME
id $USERNAME &>/dev/null && {
        userdel -r $USERNAME &&
        echo "删除成功!!"
        Input_Action
}||{
        echo “没有该用户,请重新选择操作!”
        Delete_Username
}
}

[ "$ACTION" = "E" ] && {
        echo 退出!!
        exit
}

方法二(比较简单)
#!/bin/bash
while true
do

    echo "请输入一个动作:"
    read -p "[C]reate [D]elete [E]xit :" ACTION
    ACTION=`echo $ACTION | tr "a-z" "A-Z" `

    case $ACTION in
            C)
            read -p "请输入用户名:" USERNAME
            id $USERNAME &> /dev/null && {
                    echo -e "\033[31m $USERNAME 已经存在!\033[0m "
                    }||{
                    read -p "请输入密码: " -s PASSWORD
                    useradd $USERNAME
                    echo $PASSWORD | passwd --stdin $USERNAME &> /dev/null                          && echo " $USERNAME 创建成功!"
                    echo "#########################################"
                    }
            ;;
            D)
            echo `grep "bash$" /etc/passwd | awk -F : '{print $1}'`
 read -p "请输入你要删除的用户名:" USERNAME
                id $USERNAME &> /dev/null && {
                userdel -r $USERNAME
                echo " $USERNAME 删除成功!"
                echo "#########################################"
                        }||{
                echo -e "\033[31m $USERNAME 不存在!\033[0m"
                }
                ;;
                E)
                echo "退出!"
                echo "#########################################"
                exit
                ;;
                *)
                echo -e "\033[31m 输入错误!\033[0m"
        esac
done
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值