shell腳本添加用戶刪除用戶刪除文件的腳本實現

xwfw 9年前發布 | 4K 次閱讀 Shell

    #/bin/bash

#  
DEBUG=0  
ADD=0  
DEL=0  
RM=0  
while [ $# -gt 0 ]  
do  
case $1 in   
-v|-verbose)  
    DEBUG=1  
    shift  
    ;;  
-h|--help)  
#幫助文檔  
    echo "`basename $0` --add LIST --del LIST -h|--help --rm LIST"  
    exit 0  
    ;;  
--add)  
#添加用戶  
    ADD=1  
    ADDUSER=$2  
    shift 2  
    ;;  
--del)  
#刪除用戶  
    DEL=1  
    DELUSER=$2  
    shift 2  
    ;;  
--rm)  
#刪除文件  
    RM=1;  
    RMFILE=$2  
    shift 2  
    ;;  
*)  
    echo "wrong"  
    shift  
    ;;  
esac  
done  

if test $RM -eq 1;then  
#$RM=1,則選擇的是--rm命令,RMFILE是--rm后面接的需要操作文件。  
    for I in `echo $RMFILE | sed 's/,/ /g'`;do  
#sed 's/,/ /g' 或者 's@,@ @g' 將RMFILE里面的“,”去掉,因為你可能刪除多個文件。  
        if test -e $I;then  
#-e判斷該文件是否存在,然后-f是一般文件,-d是目錄文件。  
                [ -f $I ] && rm -r $I  
                [ -d $I ] && rm -rf $I  
                [ $DEBUG -eq 1 ] && echo "刪除該文件成功"  
            else  
                [ $DEBUG -eq 1 ] && echo '該文件不存在!'        
        fi  
  done  
fi  

if test $ADD -eq 1;then  
    for I in `echo $ADDUSER | sed 's/,/ /g'`;do  
        if id $I &>/dev/null;then  
            [ $DEBUG -eq 1 ] && echo "用戶名是$I的用戶已經存在,不能添加為新用戶"  
        else  
            sudo useradd $I  
            [ $DEBUG -eq 1 ] && echo "新用戶$I添加成功"              
    fi  
        done  
fi  


if test $DEL -eq 1;then  
    for I in `echo $DELUSER | sed 's/,/ /g'`;do  
        if id $I &>/dev/null;then  
            sudo userdel  $I  
            [ $DEBUG -eq 1 ] && echo "刪除$I用戶成功"  
        else  
            [ $DEBUG -eq 1 ] && echo "用戶$I不存在,不能刪除"  
        fi  
    done  
fi  </pre> 


 本文由用戶 xwfw 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!