Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Benötige Unterstützung bei Shell Script - Test Operation..

Frage Entwicklung Batch & Shell

Mitglied: seichi1

seichi1 (Level 1) - Jetzt verbinden

09.11.2007, aktualisiert 20.11.2007, 4267 Aufrufe, 3 Kommentare

Hallo..

Ich brauche Bitte eure Hilfe... und zwar folgendes... Ich muss ein Script schreiben, dass die Home-Laufwerke von nicht mehr vorhandenen User sucht und dann löscht..
Benutzer die es nicht mehr gibt, werden zu einer UID.. dh. Der Besitzer des Home-LW wird durch die UID ersetzt...

vorhandener Benutzer: rwxrwxrwx 1 SEPPI users 9 May 17 00:52 /home/SEPPI
ohne Benutzer: rwxrwxrwx 1 12345 users 9 May 17 00:52 /home/SEPPI

und jetzt das Problem..

Wie kann ich mit der Test anweisung checken, ob der Wert eine Zahl oder ein Wort ist...

for USR in `ls -l /home/ | awk -F" " '{ print $3 }'`
do
if [ $USR = (ZAHL ODER WORT) ];then
do
echo "$USR ist eine ZAHL"
else
echo "$USR ist ein WORT"
fi
done

Bitte um rasche Hilfe...
THX
Mitglied: Natureshadow
09.11.2007 um 10:57 Uhr
Müsste ich mir jetzt genauer ansehen, die spezielle Frage kann ich also nicht beantworten. Ich kann dir nur sagen, wie ich es machen würde.

pushd /home
for usr in `ls`; do
grep -i $usr /etc/passwd || rm -rf $usr
done
popd

Das geht die Benutzerverzeichnisse durch, durchsucht /etc/passwd nach edn Namen. Wenn dieser nicht vorhanden ist, wird das Verzeichnis komplett gelöscht.

-nik
Bitte warten ..
Mitglied: seichi1
10.11.2007 um 20:46 Uhr
Müsste ich mir jetzt genauer ansehen,
die spezielle Frage kann ich also nicht
beantworten. Ich kann dir nur sagen, wie ich
es machen würde.

pushd /home
for usr in `ls`; do
grep -i $usr /etc/passwd || rm -rf $usr
done
popd

Das geht die Benutzerverzeichnisse durch,
durchsucht /etc/passwd nach edn Namen. Wenn
dieser nicht vorhanden ist, wird das
Verzeichnis komplett gelöscht.

-nik

Hallo..
deine Lösung ist zwar ein Weg, aber genau aus diesem Grund muss ich das Script auch neu schreiben, das es in dem /home/ Verzeichniss auch Netzlaufwerke aller User liegen, da diese leider ähnlich den Home Laufwerken der User heißen, scheidet diese möglcihkeit leider aus..
Aber trotzdem Danke..

Habe aber Gottseidank schon eine Lösung!!

for USR in `ls -l /home/ | awk -F" " '{ print $3 }'`
do
if [[ $USR =~ "^[0-9]*" ]];then
do
echo "$USR ist eine ZAHL"
else
echo "$USR ist ein WORT"
fi
done

THX
Mfg Seichi
Bitte warten ..
Mitglied: Natureshadow
20.11.2007 um 17:13 Uhr
Hallo,

ist zwar schon alt, aber ich habe da noch was. Habe gerade ein wenig mit dem find-Befehl gespielt ...

find /home -type d -nouser -ok rm -rf {} ;

Der Befehl findet alle Verzeichnisse (-type d) unterhalb von /home, die keinem im System eingetragenen Benutzer gehören (-nouser) und löscht sie nach Bestätigung (-ok rm -rf {} ;).

Vielleicht braucht das ja noch jemand ...
Nik
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Ubuntu
Nregp ereignis für bash-script (1)

Frage von rsadmchef zum Thema Ubuntu ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (11)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...