2012-05-07 12 views
6

Ich habe Probleme beim Versuch, einen Ordner in meinem Skript zu leeren.Inhalt des Ordners mit Shell-Skript löschen

Dies ist in meiner Kommandozeile arbeiten:

rm -r Folder1/Folder2/* 

Aber wenn in meinem Skript, das ich dies tun:

DIR="Folder1/Folder2/" 
rm -r "$DIR*" 

Er sagt: „rm: Folder1/Folder2/*: Keine solche Datei oder Verzeichnis ", wo ist das Problem?

Im Ausführen des Skripts im selben Ordner wie ich den Befehl ausprobiert.

Antwort

14

Die Globexpansion findet nicht in Anführungszeichen statt.

Versuchen:

rm -r -- "$DIR"* 

(. Nur wirklich sicher, dass Sie nicht einen Raum nach den Anführungszeichen tun)

1
rm -r $DIR* 

, die funktionieren sollte, ohne Anführungszeichen

+2

Nicht, wenn '$ DIR' hat Leerzeichen drin. – Mat

Verwandte Themen