使用Bash脚本

时间:2016-04-06 11:23:42

标签: linux bash

我知道这个问题已经被问了很多,但我似乎无法让它运转起来,我有点时间,好吧。

我正在尝试使用4选项菜单制作bash脚本: 1添加单个用户 2从列表中添加 3删除单个用户 4从列表中删除

添加和删除单个用户我只是从列表中继续打败我。

这是我到目前为止的代码

#!/bin/bash

choice=5
# Main display
echo "Enter number to select an option"
echo
echo "1) Add Single User"
echo "2) Add Users from list"
echo "3) Delete Single User"
echo "4) Delete users from list"
echo

while [ $choice -eq 5 ]; do

read choice

if [ $choice -eq 1 ] ; then    

    echo -e "Enter Username"
    read user_name
    echo -e "Enter Password"
    read user_passwd
    sudo useradd $user_name -m -p $user_passwd
    cat  /etc/passwd 

else                   

    if [ $choice -eq 2 ] ; then
        x=0
        created=0

        echo -e "Enter file name for users:"
        read user_list

        sudo useradd "$user_list" -m -p "$user_list"

        else

            if [ $choice -eq 3 ] ; then
            cat  /etc/passwd 
            echo
            echo -e "User to be deleted:"
            read del_user
            sudo userdel -r $del_user
            cat  /etc/passwd
            echo

                else

        if [ $choice -eq 4 ] ; then
        echo "Not yet finished"


        else
            echo "#####################"
            echo "# Stop being a noob #"
            echo "#####################"
            echo "1) Add Single User"
            echo "2) Add Users from list"
            echo "3) Delete Single User"
            echo "4) Delete users from list"
            echo
                        choice=5
                fi   
        fi
fi
fi
done

获取用户的文件只是

User20
User19
User18
User17
User16
User15
User14
User13
User12
User11
User10
User9
User8
User7
User6
User5
User4
User3
User2
User1

我知道这很草率,但我只是需要它来演示作业的演示,任何帮助都表示赞赏。

感谢。

2 个答案:

答案 0 :(得分:1)

在读取文件名后,您必须遍历该文件并为文件的每一行创建或删除用户。

示例:

for user in `cat user_list`
do
    sudo useradd "$user" -m -p "$user"
done

答案 1 :(得分:0)

读取-p'添加用户名:'USER_NAME 读-p'添加密码:'密码

useradd -m $ {USER_NAME} 回声$ {PASSWORD} | passwd --stdin $ {USER_NAME} 退出0