2016-04-06 15 views
0

この質問はたくさん聞かれましたが、私はそれをうまく動作させることができないと思っています。 I「は、単一のユーザーの追加と削除一覧からBash Script - テキストファイルからユーザを作成/削除する

を削除し、単一のユーザー 4を削除し、リスト 3から追加 1が追加単一のユーザー 2:私は4オプションメニューでbashスクリプトを作成しようとしている

それは私を倒し続けるリストからちょうどだよ。

これは、コード、私がこれまで持って

#!/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 
    #for users in $user_list 
    #do 
     sudo useradd "$user_list" -m -p "$user_list" 
     #if [ $? -eq 0 ] 
      #then 
      # let created=$created+1 
     # fi 

    #done 
     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 

です。これは私が知っている地獄のようにずさんだが、私はちょうどのためにそれを必要としていますプレゼンテーションの課題からのデモ、任意のヘルプが評価されます。

ありがとうございました。

+0

は、なぜあなたは、ユーザーのパスワードとして「追加リストから」場合にファイル引数を渡していますか?ファイル(および他のソース)から行単位のデータを安全かつ確実に読み取る方法については、[Bash FAQ 001](http://mywiki.wooledge.org/BashFAQ/001)を参照してください。 –

+0

メニューを実装するには、['select'コマンド(https://www.gnu.org/software/bash/manual/bashref.html#index-select)を使うことをお勧めします。例[ここをクリック](http://stackoverflow.com/a/33159099/7552) –

答えて

0

ファイルの名前を読み込んだら、そのファイルを反復処理して、ファイルの各行に対してユーザーを作成または削除する必要があります。

例:

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

私は欲しかったが正確には動作しませんでしたが、それは行います。ヘルプivanzg乾杯 これは私が最後 'しばらくIFS =で得たものである:ユーザ名フルネームパスワードグループを読ん 他の誰であれば users.txt' < sudo useraddを-m「$ユーザー名」を行う 済それを使うかもしれない。 –