Datein mit Leerzeichen an Skripte übergeben

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
hupfdule
Beiträge: 1864
Registriert: 09.12.2002 15:04:37
Wohnort: Berlin
Kontaktdaten:

Datein mit Leerzeichen an Skripte übergeben

Beitrag von hupfdule » 02.11.2003 11:43:29

Ich habe folgendes Problem. Wenn ich Dateinamen als Parameter an ein Skript übergebe, dann werden diese an einem Leerzeichen getrennt. Wie kann ich das verhindern?

Als Beispiel. Ich habe eine Datei "a b", also "a", Leer, "b". Wenn ich mir diese Datei unter der Konsole mit ls anzeigen lasse, mache ich da so:

Code: Alles auswählen

ls a\ b
Nun könnte ich ja ein Skript schreiben, dass mir das gleiche ausführt:

Code: Alles auswählen

#!/bin/bash
ls $1
Der Aufruf wäre dann so:

Code: Alles auswählen

./skript a\ b
Aber als Ergebnis kommt:

Code: Alles auswählen

ls: a: No such file or directory
ls: b: No such file or directory
Innerhalb des Skriptes wird das Leerzeichen also nicht escaped. Wie aber kann ich das erreichen?

julien
Beiträge: 1062
Registriert: 06.05.2002 19:53:05
Wohnort: Oberhessen

Beitrag von julien » 02.11.2003 12:08:20

indem du im script ls "$l" schreibst, also die Variable zwischen 2 "

Antworten