簡體   English   中英

用於添加和刪除用戶的 Bash 腳本

[英]Bash script to add and remove users

我是 bash 腳本的初學者,我創建了一個 bash 腳本來在 Linux 上添加用戶和刪除用戶。 但是由於我面臨的腳本問題並不是真正的主要問題,但是如果有人能指出我如何改進腳本和最壞的做法,我正在編寫腳本會有所幫助

但是我注意到的問題是腳本需要 -a 添加用戶 -d 刪除用戶和 -h 獲取幫助 -a 標志作為 2 個可選參數 -p 用於密碼和 -s 用於 shell 所以命令將是

./useradd.sh -a user -p password -s shell

這按預期工作,用戶已添加到系統中,但我面臨的問題是,如果我不輸入 -a 標志並指定 -s 和 -p 標志,腳本剛剛退出,我想向您展示一個清晰的想法用戶為什么退出,我假設有很多這樣的錯誤,但我還沒有測試過這么多,任何幫助都將不勝感激,所以這是我的腳本

https://github.com/abhijith7025/bash_scripts/blob/master/useradd.sh

...我創建了一個 bash 腳本來在 Linux 上添加用戶和刪除用戶。

鑒於 Linux 對這兩個操作有單獨的命令,您可能需要重新考慮這一點。 創建一個用戶比刪除一個用戶要多得多,因此您可能會在嘗試將兩者結合起來時遇到麻煩。

反正:

您的 case 語句沒有“其他”分支(“ * ) ”)。 這可能就是“誤用”腳本時沒有錯誤的原因。

case $opt in 
  a )  
    ;; 
  d )  
    ;; 
  h )  
    ;; 
  * )
     usage 
     exit 1 
     ;; 
esac 

其他需要注意的事項:

user add可能是一個可以刪除用戶的腳本的糟糕名稱。

您允許將 shell 指定為參數,但不檢查它是否存在

Linux 命令通常對“事物”或“事物”列表進行操作,並且該操作由 [通常] 位於事物之前的選項限定。 因此,您的腳本可能會像這樣更好地調用:

./manage_user  -a  -p password  -s shell_exe  user1 
                |   |            |            |
                |   |            |            User name 
                |   |            Shell for User
                |   Password for User
                Add a User

./manage_user  -d  user2 
                |  |
                |  User name 
                Delete a User

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM