2017-03-09 40 views
0
echo "Wollen Sie mit einer Benutzererstellung beginnen? Ja(y), Nein(n)" 
    read text 
    if [ $text == "y" ]; 
     then echo "Wilkommen zum Benutzererstellungsskript" 
     #Username hinzufügen 
     echo "Wie soll der Benutzer heissen?" 
     read username 
     if grep -q 
     echo "Soll der User ein Homeverzeichnis haben? Ja(y), Nein(n)" 
     read homeverzeichnis 
     if [ $homeverzeichnis == "y" ]; 
      then sudo useradd -m $username 
      echo "Sie haben $username erfolgreich mit Homeverzeichnis erstellt." 
     elif [ $homeverzeichnis == "n" ]; 
      then sudo useradd $username 
      echo "Sie haben $username erfolgreich ohne Homeverzeichnis erstellt." 
     fi 

    #Passwort setzen 
    echo "Wollen Sie dem Benutzer noch ein Passwort geben? Ja(y), Nein(n)" 
    read password 
    if [ $password == "y" ]; 
     then sudo passwd $username 
    elif [ $passwd == "n" ]; 
     then echo "Dann halt nicht" 
    fi 

    #in Gruppe hinzufügen 
    int i = "1"; 
    while [ i == 1 ]; 
     do 
      echo "Welcher Gruppe soll der Benutzer $username hinzugefügt werden?1,2,3,4,5" 
      echo "1. Root" 
      echo "2. HR" 
      echo "3. Basis" 
      echo "4. Design" 
      echo "5. RW" 
      read group 

      if [[ $group == "1" ]]; 
       then usermod -aG $username root 
       i = "0" 
      elif [[ $group == "2" ]]; 
       then usermod -aG $username HR 
       i = "0" 
      elif [[ $group == "3" ]]; 
       then usermod -aG $username Basis 
       i = "0" 
      elif [[ $group == "4" ]]; 
       then usermod -aG $username Design 
       i = "0" 
      elif [[ $group == "5" ]]; 
       then usermod -aG $username RW 
       i = "0" 
      else 
       i = "1" 
      fi 
     done 
elif [ $text == "n" ]; 
    echo "Das Programm wird beendet!" 
    exit 1 
fi 

語法錯誤在啓動腳本詢問您是否要開始做還是不但是當你輸入的東西,然後按回車這個錯誤出現。Linux的bash腳本(靠近意外的標記「的elif」

enter image description here

+1

你忘了''then'如果之後的grep -q'。 http://shellcheck.net會抓住這一點。 – chepner

回答

-1

雙括號和雙實際等號僅用於數據的Vertifizieren和Java中 例子。

if [[ "$TIME" =~ ^[0-2][0-9]:[0-5][0-9]:[0-5][0-9]$ ]]; then 

哎呀對不起,這在英語anwser ...
下面的代碼是無效的。

if [[ $group == "1" ]]; 

它看起來像下面...

if [ "$group" -eq 1 ]; then 
elif [ "$group" -eq 2 ]; then 

這裏是德國的文檔的xD

+1

你說是無效的代碼是完全合法的。 – chepner

+0

那麼,是什麼「==」是什麼意思? '[['和']]'是什麼意思?可變thathave沒有價值如果沒有雙引號可以繞過測試。這是迄今爲止不是有效的代碼。 – suleiman

+1

問題是標記'bash':'[[...]]'是一個條件指令,和''==爲字符串相等和模式匹配的有效操作。詞的拆分和路徑擴展不適用於參數擴展上的'左手操作=='所以報價是可選的。 – chepner

0

回聲「你想開始一個用戶創建的bash腳本編程god like guide嗎? (Y),否(N) 「 READTEXT 如果[」 $文本「-eq Y];添加 然後回聲「歡迎用戶創建腳本」 #Username 回聲「是怎樣的用戶名?」 閱讀的用戶名,如果grep的-q; 然後 回聲 「如果用戶有一個主目錄是(Y)否(S)?」 讀取主目錄 如果[ 「$ HOME目錄」 當量Y]; 然後須藤useradd的-m $用戶名 回聲「你有$的用戶名與成功創建主目錄。」 的elif [ 「$ HOME目錄」 當量N]; 然後須藤useradd的$用戶名 回聲「您已經成功創建$用戶名不帶主目錄。」 網絡

#Passwort setzen 
    echo "Wollen Sie dem Benutzer noch ein Passwort geben? Ja(y), Nein(n)" 
    read password 
    if [ "$password" -eq y ]; 
     then sudo passwd $username 
    elif [ "$password" -eq n ]; 
     then echo "Dann halt nicht" 
    fi 

    #in Gruppe hinzufügen 
    int i = "1" 
    while [ "$i" -eq 1 ]; 
     do 
      echo "Welcher Gruppe soll der Benutzer $username hinzugefügt werden?1,2,3,4,5" 
      echo "1. Root" 
      echo "2. HR" 
      echo "3. Basis" 
      echo "4. Design" 
      echo "5. RW" 
      read group 

      if [ "$group" -eq 1 ]; 
       then usermod -aG $username root 
       i = "0" 
      elif [ "$group" -eq 2 ]; 
       then usermod -aG $username HR 
       i = "0" 
      elif [ "$group" -eq 3 ]; 
       then usermod -aG $username Basis 
       i = "0" 
      elif [ "$group" -eq 4 ]; 
       then usermod -aG $username Design 
       i = "0" 
      elif [ "$group" -eq 5 ]; 
       then usermod -aG $username RW 
       i = "0" 
      else 
       i = "1" 
      fi 
     done 
elif [ "$text" -eq n ]; 
    then echo "Das Programm wird beendet!" 
    exit 1 
fi 

感謝球員,但現在我有一個問題......我不知道什麼事:enter image description here

+0

首先,Stack Overflow是一個英文網站;請用英文發表答案。其次,答案不應包括後續問題。如果您有任何問題,請發起一個新帖子。如果你需要澄清你的問題的方式並沒有違反對目前的答案,直接編輯的問題。 – chepner

+0

哦,對不起這麼代碼shoulderstand因此在英語嗎?而我,雖然我可以只添加了同樣的問題我不能我的新的問題? –

+0

無;如果你有一個後續問題,發佈新的* *的問題。這個網站是不是有關特定一段代碼後面和反覆討論;它可以作爲一般性參考。 – chepner

相關問題