Linux
語法錯誤意外文件結尾
我編寫了一個 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,則不存在。
順便說一句,你的塊很髒……使用以下連結:
同時關閉你的塊。