Script Problem

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
crusher
Beiträge: 51
Registriert: 22.03.2004 22:50:06

Script Problem

Beitrag von crusher » 21.03.2009 10:01:53

Hi,

ich habe folgendes vor. Ich möchte auf meinen Linux System jedem Benutzer in sein /home/$Benutzerverzeichniss eine datei ablegen die die ein Text und die aktuelle Anzahl seiner Dateien im System einträgt.
Biespiel:

Code: Alles auswählen

echo "Hallo lieber Benutzer, du verwendest aktuell X Dateien auf deinem Verzeichniss. Bitte bachte dass du nur 100 anlegen kannst.
Das X weiss ich wie ich rausbekomme

Code: Alles auswählen

find /verzeichnis -type f | wc -l
Drei kleine Probleme gibts noch zu lösen,
1. Wie würde eine Wenn funktion aussehen, die dass automatisch für jeden Benutzer im /home/ verzeichniss macht
2. Wie kann ich die Datei dem Benutzer angehörig machen, dass dieser auch diese Besitzt also chown
3. Der Dateiname sollte nicht bei jeden gleich sein ich stelle mit einer eine wahllose 6 stellig zahl vor wie ist das zu realisieren.


Ich habe mir a bissl zu arg schon den Kopf zebrochen und hoffe dass ihr mit ein bischen weiterhelfen könnt.

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Script Problem

Beitrag von Duff » 21.03.2009 10:19:18

Du kannst dir z.B. alle Benutzernamen oder auch Verzeichnisnamen aus /etc/passwd nach bestimmten Kriterien holen.

Z.B. so:

Code: Alles auswählen

daniel@daniel-laptop:~$ awk -F":" '$6 ~ /\/home/ && $3 >= 1000 {print $1}' /etc/passwd
daniel
pia
Hier wird mir jetzt der Benutzername ausgegeben.
Diesen könntest du auch für deinen chown-Befehl verwenden.

Oder sowas....

Code: Alles auswählen

daniel@daniel-laptop:~$ for i in $(awk -F":" '$6 ~ /\/home/ && $3 >= 1000 {print $6}' /etc/passwd)
> do
> basename $i
> done
daniel
pia
Oh, yeah!

Antworten