Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Problem beim Shell-Skript

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mics123



Anmeldungsdatum: 19.06.2004
Beiträge: 1

BeitragVerfasst am: 19. Jun 2004 12:51   Titel: Problem beim Shell-Skript

Aufgabe war:

In Ihrem Unterverzeichnis programme soll jetzt ein Shellskript krm (komfortables rm) angelegt werden. Dieses Skript soll folgendes leisten:

Zeige alle Dateien im aktuellen Verzeichnis, die mehr als n Tage nicht modifiziert worden sind, und lösche sie auf Anfrage. Die Anzahl der Tage soll als Parameter übergeben werden.
Falls keine Zahl als Parameter übergeben wird, soll eine Fehlermeldung erscheinen und das Skript soll abbrechen.
Wie lautet der Inhalt dieses Shellskripts?

Meine Antwort ist:

find . -mtime +${1?Kein Parameter eingegeben, Du Tröte!} -exec rm -i {} \;

Doch dann noch die Frage:
Was müssen Sie nach der Anlage dieser Datei noch tun, damit Sie das Shellskript überall mit dem Kommando krm aufrufen können?

Nach Eingabe von # pwd folgt die Ausgabe: /ramdisk/home/knoppix

In diesem Verzeichnis liegt dann doch auch die erstellte Datei krm, oder nicht?

Und ich möchte krm beispielsweise auch im Verzeichnis /ramdisk/home/knoppix/programme aufrufen können.

Also was muss ich wo eingeben?
Gruß und Danke,
Michael
 
Benutzer-Profile anzeigen Private Nachricht senden

Scory



Anmeldungsdatum: 16.04.2004
Beiträge: 188

BeitragVerfasst am: 19. Jun 2004 13:34   Titel:

>find . -mtime +${1?Kein Parameter eingegeben, Du Tröte!} -exec rm -i {} \;

Das ist TURBOFALSCH!

1) find . -mtime ... findet Dateien die NEUER sind als Anzahl Tage.
2) ${1?Kein Parameter eingegeben, Du Tröte!} bricht keinesfalls mit dieser Meldung ab, sondern weist für -mtime den Wert der Variablen ${Kein Parameter..} zu, falls $1 leer ist, also auch einen leeren Wert. Eine Fehlermeldung erfolgt dann durch find, weil der Parameter -mtime keinen gültigen Wert hat.
3) Selbst wenn es bis dahin richtig wäre: dieses Script löscht nicht nur die Dateien im aktuellen Ordner, sondern auch alle Dateien aller Unterordner. Auch Ordner werden zu löschen versucht, was in die Hose geht.

Zur zweiten Frage:

>In diesem Verzeichnis liegt dann doch auch die erstellte Datei krm, oder nicht?

Auch total falsch; das Script krm muss lediglich ausführbar gemacht werden und dann in einen Ordner verschoben werden, der Bestandteil des Suchpfades ist (beispielsweise nach /usr/local/bin).
 
Benutzer-Profile anzeigen Private Nachricht senden

traeumerle



Anmeldungsdatum: 18.09.2002
Beiträge: 64
Wohnort: Osnabrück

BeitragVerfasst am: 19. Jun 2004 13:37   Titel:

Um dein Shellscript ohne den vollständigen Pfad überall aufzurufen, muß es im Suchpfad deiner Shell liegen. den aktuellen Suchpfad kannst du dir mit

Code:

echo $PATH


anzeigen lassen. Nun muß dein Shellscript entwede in eines der angezeigten Verzeichnisse (In solchen Fällen am besten /usr/local/bin) oder der Pfad muss um das Verzeichniss ergänzt werden, in dem dein Script liegt, das kannst du folgendemaßen erledigen:

Code:

export PATH=$PATH':/dein/eigenes/scriptverzeichnis'


Wenn du dies nach einem neuen Login nicht erneut tippen möchtest, kannst du das ganze auch an das Ende der /etc/profile (Systemweit für alle enutzer) oder in die ~/.bashrc für den jew. Benutzer schreiben.

Bis denne denn

Christian
_________________
Bis denne denn

Christian Nobis
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

andy_lv



Anmeldungsdatum: 14.06.2004
Beiträge: 6

BeitragVerfasst am: 21. Jun 2004 7:28   Titel:

...und ausführbarmachenkannst Du dein Shellscript so
~>chmod +x krm
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy