Bash: Verzeichnis überwachen und zwei Ausgaben davon

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bash: Verzeichnis überwachen und zwei Ausgaben davon

    Hi,
    ich arbeite an einem kleinen Bash-Shell-Skript.

    Es soll ein Verzeichnis überwachen. An das Skript soll der Pfad zu dem zu überwachenden Verzeichnis und eine Zeichenkette übergeben werden.
    Danach soll das Programm für dieses Verzeichnis jeweils im Abstand von 5 Sekunden folgende Informationen ausgeben:
    - die 5 größten Dateien,
    - die 5 Dateien, die zuletzt modiziert wurden und mit einer Zeichenkette beginnen, die als 2.Parameter übergeben wurde.

    Beispieleingabe:

    $sh aufgabe.sh /pics/ photo

    Beispielausgabe:

    5 größten Dateien in /pics/
    photo_030
    bild_010
    photo_015
    bild_019
    photo_002

    5 zuletzt geänderten Dateien beginnend mit 'photo' in /pics/
    photo_012
    photo_037
    photo_014
    photo_006
    photo_018

    Quellcode

    1. #!/bin/bash
    2. echo "Verzeichnis lautet: $1"
    3. echo "Der gesuchte String lautet: $2"
    4. cd $1
    5. echo $(ls -S | head -5)
    6. sleep 5; echo $(ls -t | grep -ci $2 | head -5)


    Da ich nur Cygwin und kein Linux installiert habe, konnte ich nur damit testen.
    Leider gab es aber schon bei der Parametereingabe Probleme, da Cygwin mit dem Verzeichnis (1.Parameter) Probleme macht.

    Ich hoffe jemand kann kurz mal über das Shell-Skript drübergucken und nach Fehlern suchen.
    Und wenn möglich in seiner Konsole ausprobieren ob es funktioniert, da ich es mit Cygwin nicht hinbekomme.
    Vielleicht hab ich auch einfach Fehler im Code.

    Ich bin für jede Hilfe dankbar.
    Grüße