用指令碼寫帶選項的使用者指令碼

2021-10-03 22:12:56 字數 1741 閱讀 5144

要求如下:

只支援三個選項 『–del』 『–add』 –help輸入其他選項報錯。

使用『–add』需要驗證使用者名稱是否存在,存在則反饋存在。且不新增。 不存在則建立該使用者,切》新增與該使用者名稱相同的密碼。並且反饋。

使用『–del』 需要驗證使用者名稱是否存在,存在則刪除使用者及其家目錄。不存在則反饋該使用者不存》在。

–help 選項反饋出使用方法

支援以,分隔 一次刪除多個或者新增多個使用者。

能用echo $? 檢測指令碼執**況 成功刪除或者新增為0,報錯資訊為其他數字。

能以,分割。一次性新增或者 刪除多個使用者。 例如 adddel.sh –add user1,user2,user3…….

不允許存在明顯bug。

#!/bin/bash

if [ $# -eq 0 -o $# -gt 2 ]

then

echo -e "使用方法: "

echo -e "$0 --add username"

echo -e "$0 --del username"

echo -e "$0 --help"

exit 1

ficase $1 in

--add)

n=0for u in `echo $2|sed 's/,/ /g'`; do

if awk -f: '' /etc/passwd |grep -qw "$u"

then

echo "使用者 $u 已存在!!!"

else

useradd $u

echo -e "$u\n$u"|passwd $u >/dev/null 2>&1

echo "使用者 $u 新增成功!!!"

n=$[$n+1]

fidone

if [ $n -eq 0 ]; then

echo "使用[--help]獲得幫助"

exit 2

fi;;

--del)

n=0for u in `echo $2|sed 's/,/ /g'`; do

if awk -f: '' /etc/passwd|grep -qw "$u"

then

userdel -r $u

echo "使用者 $u 刪除成功!!!"

n=$[$n+1]

else

echo "使用者 $u 不存在!!!"

fidone

if [ $n -eq 0 ]; then

exit 3

fi;;

--help)

echo -e "[--add]\t建立使用者且密碼與使用者名稱相同"

echo -e "\t語法 :--add user1,user2,user3...\n"

echo -e "[--del]\t刪除使用者"

echo -e "\t語法 :--del user1,user2,user3...\n"

echo -e "[--help]\t獲得幫助"

;;*)

echo -e "使用方法: "

用shell寫守護程序指令碼

乙個udhcpd與udhcpc的守護,目前只會用shell模仿編寫,還有什麼方法可以做守護呢?bin sh 程序名字可修改 pro name udhcpc wlan ra0 while true do 用ps獲取 pro name程序數量 num ps aux grep grep v grep wc...

用python寫指令碼跑程式 2020 10 15

公司最近接了乙個新專案,支氣管導航。為了驗證軟體的功能,就需要跑很多例項,這時候就會用到指令碼跑資料,就不需要一遍遍手動執行軟體。先上 import os import sys import subprocess extractionexe airwaycenterlineextractioneng...

shell帶顏色的指令碼

我們在寫shell指令碼的時候為了使輸出出來的資訊更加醒目一點,可以給不同狀態的字型顯示不同的顏色,如下 我在這裡最先定義了2個函式,log.info和log.err,乙個輸出正常資訊為綠色,乙個輸出異常資訊為紅色,隨後又定義了2個函式,分別檢查mysql和k8s狀態,如果檢查ok我們就呼叫info...