Linux: Nur leere Unterordner löschen

1 Antwort

Soweit ich weiß löscht der Befehl "rmdir" ein Verzeichnis nur dann, wenn es leer ist, du könntest also mit einer For-Schleife alle Unterordner durchrasseln und "rmdir" drauf anwenden, da dies eh nur geht, wenn der Ordner leer ist. Um eventuell dann ganz viel Ausgabe zu vermeiden, könntest du den Error-Kanal ja auch unterdrücken ;)

bash Shell, at Befehl mit Skript?

Hallo,

Die Aufgabe ist es, ein Bash Skript zu schreiben, welches den Hostname, Username und das Rootverzeichnis, sowie einen derzeitigen Zeitstempel in Stunde, Minute und Sekunde ausgibt. Das Problem ist nun nur, dass wir dieses Skript mit dem Befehl "at" zu einem bestimmten Zeitpunkt, z.B. in 5min aufrufen sollen und die Ausgabe des Skripts in einer bereits vorhandenen Datei ausgabe_script anhängen sollen. Ich verwende den Befehl so: at -f script.bash >> ausgabe_script

Wenn ich den Job mit atq prüfe, passt alles. Nur passiert einfach nichts, es wird nichts in die Datei ausgabe_script geschrieben.

Die weitere Aufgabe hat mit crontabs zu tun, welche eine minütliche Ausgabe des Skriptes in die ausgabe_script Datei verwirklichen sollen. Leider funktioniert das ebenfalls nicht. Ich schätze die beiden Fehler stehen irgendwie in Verbindung. Ja ich habe at installiert und ich kann das script.bash von überall aufrufen, da ich die PATH Datei modifiziert und in die bashrc geschrieben habe.

Ich wäre sehr für Hilfe dankbar,
das Foto anbei ist der Inhalt meines Skriptes.

...zur Frage

Linux ~/.Private/ Ordner löschen?

Hey, Das ich unter Linux Mint 16 im verzeichnis /home/emu/.Private/ die beinhaltete Dateien löschen ohne das mein System beschädigt wird?

...zur Frage

bash Script: Leerzeichen- und Variablen-Auswertungsproblem?

Hallo!

( tl;dr ? überflieg das Fettgedruckte und das CodeBeispiel =) )

Das Problem ist etwas komplexer, ich konnte es aber auf das folgende, einfache Problem begrenzen:

  • Prüfe ob das Verzeichnis /backups/01 today/ existiert.
  • falls Ja: Wechsle in das Verzeichnis und dann führe den Befehl macheX aus
  • ansonsten: gib eine Fehlermeldung aus

Kern des Problems: Das Verzeichnis enthält enthält ein Leerzeichen und der Pfad muss vor dem Prozess in der Variablen DIRR gepeichert werden. (Der Pfad kann nicht umbenannt werden, das wäre zu einfach)

Ich habe in etwa folgendes:

#!/bin/bash

DIRR="/backups/01 today"

if [ -d $DIRR ];
then
  cd $DIRR
  macheX
else
   echo "FEHLER: $DIRR existiert nicht!"
fi

Wie man sieht wird die Variable DIRR anfangs gesetzt und wird anschließend auf drei unterschiedliche arten ausgewertet. Ich habe im Code-Beispiel bewusst auf ` ' und " Einfassungen von DIRR verzichtet, denn genau das ist das Problem! Wie müssen diese DIRR eingefasst werden und wie der Pfad angegeben werden, damit es funktioniert?

Ich habe etliche Kombinationen durch und werde langsam verrückt. =) Wenn ich den Pfad z.B. mit oder ohne escape-Zeichen vor dem Leerzeichen angebe, dann klappt das eine aber es hakt dann wieder wo anders. In der Fehlermeldung darf das Verzeichnis beliebig erscheinen (mit ` ' " oder auch dem escape-Zeichen \ )

Wer schafft es mein Brett vorm Kopf zu zersägen? =)

...zur Frage

Wie kann ich unter Linux Ordnerinhalte als zip-Datei packen?

Der komplette Inhalt eines Ordners soll als Zip-Archiv gepackt werden.Mit zip -r beispieldatei.zip Pfad/zu/Ordner wird allerdings der Ordner selbst gepackt, sprich Ordnername/beispieldateien.Wie lautet der Befehl, wenn ich alle Dateien packen möchte, die sich in einem Ordner befinden?

...zur Frage

Unterordner die leer sind löschen?

Ich habe ein Musik Verzeichnis das durch sortieren viele leere Unterordner enthält. Problem es gibt Programme die leere Ordner finden habe aber keins gefunden das es geschafft hat von einem Ordner der einen Unterordner hat der wiederum einen Unterordner hat diese aufzuspüren und löschen zu lassen. Kann mir hierbei wer helfen?

...zur Frage

Was möchtest Du wissen?