2016-09-27 9 views
0

私はbashスクリプトの新機能をいくつか紹介しています。特定の/home/usersのリストをサーバ(または複数のサーバ)で検索してリストから/userが見つかると、そのユーザのディレクトリをsudo rm -rf /userで削除します。リストされたユーザーが見つからない場合は、何もしません。このスクリプトは、ユーザーがいなくてもよい複数のサーバー上で動作するように適応する必要があります。どんな助けもありがとう。特定の/ユーザーのためにサーバーを検索して削除するbashスクリプト

私は何を考えていたのですか。私は、私が削除したいすべてのホームディレクトリを含むUSERLISTという名前のファイルを作成することにより、行ごとの1を起動します: /ユーザー/ user1の /ユーザ/ user30

#!/usr/bin/bash 

do 
    if [[ -d $dir ]] 
    then  
    rm -R $dir 
    echo “Directory $dir found and deleted.” 
    else 
    echo “Directory $dir not found.” 
    fi 
done < userList 
+1

ようこそスタックオーバーフロー!質問を編集して[これまでに試したこと](http://whathaveyoutried.com)を表示してください。問題のあるコードの[mcve]を含める必要があります。次に、特定の問題を解決するために役立つことができます。 [ask]も読んでください。 –

+1

これは厄介なように聞こえます:なぜあなたはユーザーのホームディレクトリを削除していますか? –

+0

私の上司から、会社でもはや働いていない従業員のユーザーホームディレクトリを削除するためのbashスクリプトを作成するように求められました。 – Rasterburn

答えて

0

あなたが近くにいる:

#!/bin/bash 

while read dir; do # <-- there's a change here 
    if [[ -d $dir ]] 
    then 
    sudo rm -rf $dir # <-- and here 
    echo “Directory $dir found and deleted.” 
    else 
    echo “Directory $dir not found.” 
    fi 
done < userList 
関連する問題