PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : nach suchmuster bzw. verzeichnis suchen



der_hai
13-12-2007, 17:17
hallo,

ich habe folgendes Problem:

1) ich arbeite an einem Projekt (Content Management System), und ich muss via bash-script prüfen ob User richtig angelegt wurden, und dazu muss ich einer Datei nach einem Suchmuster “UID“ suchen, falls es gefunden wurde, erfolgt dabei ein vergleich der werte (vergleich zwischen dem vorgegebenen wert und dem wert der gefunden UID), falls die werte übereinstimmen sollte auf der Konsole ausgegeben werden, dass der User richtig angelegt wurde, ansonsten eine Fehlermeldung.

2) das zweite script ist Analog zum ersten, dabei muss ich in einem Samba-Server nach einem genauen User-Verzeichnis (/home/User) suchen, z.B. user=linus, falls es gefunden wurde, dann muss eine ausgabe auf der Konsole erfolgen, dass der user-verzeichnis erfolgreich auf Samba-server angelegt wurde, ansonsten auch eine Fehlermeldung.

ich freue mich auf eure Antwort

lg


thomas

jan61
13-12-2007, 20:39
Moin,

zu 1.: Ist ein wenig davon abhängig, wie die Zeile in der Datei aussieht. Mal angenommen, da steht "UID=42", dann ginge es z. B. so:

user_id=42
if grep -q "^UID=$user_id$" dieDatei; then
echo "Die Antwort!"
else
echo "Erde gesprengt"
fi
zu 2.:

user=dent
if test -d "/home/$user"; then
echo "noch zu Hause"
else
echo "schon bei den Gorgonen"
fiJan

der_hai
19-12-2007, 00:22
moin,
danke erstmal für die Antwort, ich habe nochmal nachgeguckt und die zeile sieht so aus: "uid:123456".

das erschwert mir die Arbeit, da ich irgendwie die werte nicht vergleichen kann. habt ihr mal vielleicht eine idee

danke

thomas

rais
19-12-2007, 10:39
Moin moin,
wie wär's mit


user_id=`id -u wer-auch-immer`
... oder was versteh' ich nicht?
MfG,

jan61
20-12-2007, 01:26
moin,
danke erstmal für die Antwort, ich habe nochmal nachgeguckt und die zeile sieht so aus: "uid:123456".

das erschwert mir die Arbeit, da ich irgendwie die werte nicht vergleichen kann. habt ihr mal vielleicht eine idee

danke

thomas

Was erschwert denn da die Arbeit? Du musst doch nur die Zeichenkette im grep anpassen:
vorgegebene_user_id=123456
if grep -q "^uid:$vorgegebene_user_id$" dieDateiMitDenWerten; then
echo "$vorgegebene_user_id ist in dieDateiMitDenWerten vorhanden"
else
echo "$vorgegebene_user_id ist in dieDateiMitDenWerten NICHT vorhanden"
fiJan