shell指令碼添加使用者刪除使用者刪除檔案的指令碼實現
#/bin/bash#DEBUG=0ADD=0DEL=0RM=0while [ $# -gt 0 ]docase $1 in -v|-verbose)DEBUG=1shift;;-h|--help)#協助文檔echo "`basename $0` --add LIST --del LIST -h|--help --rm LIST"exit 0;;--add)#添加使用者ADD=1ADDUSER=$2shift 2;;--del)#刪除使用者DEL=1DELUSER=$2shift 2;;--rm)#刪除檔案RM=1;RMFILE=$2shift 2;;*)echo "wrong"shift;;esacdoneif 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 donefiif test $ADD -eq 1;thenfor I in `echo $ADDUSER | sed 's/,/ /g'`;doif id $I &>/dev/null;then[ $DEBUG -eq 1 ] && echo "使用者名稱是$I的使用者已經存在,不能添加為新使用者"elsesudo useradd $I[ $DEBUG -eq 1 ] && echo "新使用者$I添加成功"fidonefiif test $DEL -eq 1;thenfor I in `echo $DELUSER | sed 's/,/ /g'`;doif id $I &>/dev/null;thensudo userdel $I[ $DEBUG -eq 1 ] && echo "刪除$I使用者成功"else[ $DEBUG -eq 1 ] && echo "使用者$I不存在,不能刪除"fidonefi