On Sat, Nov 18, 2006 at 03:49:16PM +0100, Christoph Grzeschik wrote: > Mein Skript zum Verschieben von Dateien in den Papierkorb lautet: > > #!/bin/bash > > mv $1 ~/trash > > Das Problem ist wenn ich jetzt Dateien "löschen" will in deren Dateiname > ein Leerzeichen ist dann gibt das Probleme. Beispiel: > > rm Ein toller Film.avi > mv: Aufruf von stat für ,,Ein" nicht möglich: Datei oder Verzeichnis > nicht gefunden > mv: Aufruf von stat für ,,toller" nicht möglich: Datei oder Verzeichnis > nicht gefunden > mv: Aufruf von stat für ,,Film.avi" nicht möglich: Datei oder > Verzeichnis nicht gefunden > > > Was muss ich da machen, damit das funktioniert?
Hallo Christoph! Aufruf mit rm 'Ein toller Film.avi' oder rm "Ein toller Film.avi" oder rm Ein\ toller\ Film.avi Du könntest, wenn du bash auch als interaktive shell verwendest, auch eine shell funktion namens rm in der Datei ~/.bashrc definieren. Diesen Funktionen kann man beim Aufruf auch Parameter übergeben, wie den shell scripts. Der Aufruf der shell Funktion dürfte wesentlich effizienter sein, als der Aufruf einer externen Datei, selbst, wenn eine solche schon gehasht ist, aber für den Benutzer ist die Differenz dennoch meist unmerklich klein, weil sie wohl gegenüber der Tippgeschwindigkeit vernachlässigbar klein ist. Falls die bash im script nach Ersetzen des Positional Parameters nochmal ein word splitting durchführt und damit den einen Parameter aus $1 wieder an den Leerzeichen - oder anderen whitespace Zeichen - in mehrere Parameter auftrennt, musst du noch das $1 im Script in doppelte Anführungszeichen setzen, also "$1" schreiben. Ob das word splitting da nochmal stört, weiss ich aber nicht auswendig; sowas muss ich leider immer wieder neu in der manpage nachlesen, wann genau die shell was macht. Es gibt normal zur basch noch andere Dokumentation, als die schwer verständliche und oft irreführende manpage, aber bei debian habe ich keine Ahnung, wo diese zu finden ist und ob sie überhaupt bei debian dabei ist. Jedenfalls, wenn man früher, so ca. 1992, eine bash im sourcecode holte und compilierte, waren da neben der manpage noch viele weitere wichtige Informationen und auch Beispiele für Anwendungen dabei. Alles Gute Helmut H. Franke -- http://www.worte-des-lebens.net/Vaterworte/vaterworte.html http://firethegrid.org/ http://www.anastasia-de.com/Megre_Buecher/Megre_Buecher.htm http://itc.napier.ac.uk/e-Petition/bundestag/ Avatar Chat Systeme: http://www.amiculi.net http://pgm.amoris.org Servamus vitam terramque! -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

