Linux

語法錯誤意外文件結尾

  • March 29, 2016

我編寫了一個 shell 腳本,它允許我創建一個使用者並將它們分配給一個組,但我一直收到錯誤line 19: syntax error: unexpected end to file

我究竟做錯了什麼?是否有可能有人可以幫助我重新建構程式碼以消除此問題。

這是我的shell腳本。

#!/bin/bash
username="U"
group="G"
while [ $username"U" ] >/dev/null 2>&1;
read -p "Please input the username you would like to generate"
if
 id -U $username >/dev/null 2&1;
echo 'User already exists"
while [ $group >dev/null 2>&1; 

echo "group exists"

else
   groupadd $group
fi

這是你可以使用的東西。它將保持在循環中,直到創建了一個新的不存在的使用者。

#!/usr/bin/env bash

anotherUser() {
  read -p "Add another user? [y/n]" yn
  if [[ $yn = *[yY]* ]]; then
     checkUser
  fi
  exit
}
checkUser() {
while :
  do
     read -p "Enter user: " userName
     if id $userName >/dev/null
        then echo "User exists"
        anotherUser
     else
        adduser "$userName"
        printf "User %s has been added\n" "$userName"
        exit
     fi
  done
}
checkUser

您必須通過$?變數進行更改。它儲存最後一個命令的返回值:

id -u $username > /dev/null 2>&1 ;
if [[ "$?" -eq 0 ]]; then
       echo "username already exists."

如果等於 1,則不存在。

順便說一句,你的塊很髒……使用以下連結:

縮進(排版)

同時關閉你的塊。

引用自:https://unix.stackexchange.com/questions/271561