[bash script] Verzeichnisse löschen

  • Hallo,

    bin Programmieranfänger.

    Ich will mir ein "kleines" bash script schreiben welches beim Herunterfahren ausgeführt wird und meinen "/home/diarrhoe/.cache/" etwas aufräumt.

    Bleachbit und co machen ja im Endefekt auch nichts anderes.

    Ich will nicht den ganzen .cache Ordner löschen, sondern nur einzelen Datein oder Ordner.

    Das Skript soll natürlich nur dann löschen wenn das Verzeichnis vorhanden ist.

    So klappt das auch, aber es kommt in der bash zu einer Meldung:

    Code
    return: »Return« ist nur aus einer Funktion oder einem mit »source« ausgeführten Skript möglich.

    es liegt an dem return 0.

    Wenn z.B. Ordner test1 nicht vorhanden ist soll das Skript die erste IF-Anweisung verlassen und die zweite IF-Anweisung bearbeiten.

    Wenn ich ein exit eingeben wird das ganze Skript beendet.

    Gibt es da eine elegantere Lösung?

  • Ich denke ich habes lösen können.

    es wird kein ELSE benötigt.

  • anstelle vom else return 0 kannst es zb so machen

    PC:      Ryzen 9 7950 X3D, 64GB DDR5 RAM, Sapphire 7900 XTX - Arch Linux Plasma

    Laptop:    Lenovo Legion 5 AMD    - Manjaro KDE

    Server1:   Dedicated von Hetzner   - Debian Linux (für Xmpp+omemo, und Gameserver)

    ServerHome:   2x Xeon E5 2630v4, 64GB DDR4, 2x Raid5, 2x 512GB SSD - Debian Linux (als KVM host, NAS, ...)

  • LucyDemoon

    Danke für Deine Hilfe :)

    Ich will das Skript beim Herunterfahren ausführen lassen, im Hintergrund, ohne das es zu einer Ausgabe kommen soll.

    KDE hat ja die Option ein Start-Skript oder Logout-Skript zu hinterlegen.

    Reicht es nicht wenn ich einfach das else weglasse, so kommt es zu keiner Meldung?

  • ja ohne kommt keine meldung

    kannst aber auchnoch bei dem rm command zusätzlich f dazumachen für force damit kommts zu 100% zu keiner meldung

    rm -rf 

    kannst zb noch ein systemd script hinzufügen was dir das script beim herunterfahren oder reboot startet

    PC:      Ryzen 9 7950 X3D, 64GB DDR5 RAM, Sapphire 7900 XTX - Arch Linux Plasma

    Laptop:    Lenovo Legion 5 AMD    - Manjaro KDE

    Server1:   Dedicated von Hetzner   - Debian Linux (für Xmpp+omemo, und Gameserver)

    ServerHome:   2x Xeon E5 2630v4, 64GB DDR4, 2x Raid5, 2x 512GB SSD - Debian Linux (als KVM host, NAS, ...)

  • Ich würde das ganze so lösen:

    Rollenspiel.Monster -Deine Fediverse Rollenspiel Nodes

    GPG

    System: TUXEDO Aura 15 - Gen1, AMD Ryzen 7 4700U, 32GB RAM, 1TB M.2 SATAIII, EndeavourOS(Gnome[Wayland])

  • Ich würde das ganze so lösen:

    Programmierer sind halt faule Menschen. Alles was sich wiederholt, muss zwingend mit Array und Schleife gekürzt werden. ^^

  • Thanks :)

    Habe es noch um Dateien ergänzt... so funktioniert es wunderbar.

  • Die zwei Schleifen könnte man noch zusammen fassen und dann Ordner und Files in einem array vermischen und mit der if Abfrage wird das dan ja wieder auseinandergenommen.

    Rollenspiel.Monster -Deine Fediverse Rollenspiel Nodes

    GPG

    System: TUXEDO Aura 15 - Gen1, AMD Ryzen 7 4700U, 32GB RAM, 1TB M.2 SATAIII, EndeavourOS(Gnome[Wayland])

  • So in etwa?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!