ubuntuusers.de

Shell Script - Pfad als Parameter - Leerzeichen

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

kirchrath

Anmeldungsdatum:
22. August 2008

Beiträge: 14

Hallo, Ich bin ganz neu im Bereich shell-scripts. Ich rufe ein Scipt auf, an das ein Pfad übergeben wird. Dieser Pfad sieht in etwa so aus: /pfad/mit mehr oder/weniger/leerzeichen/datei.ext Jetzt möchte ich diesen Pfad an ein Programm übergeben - dafür muss er aber so aussehen: /pfad/mit\ mehr\ oder/weniger/leerzeichen/datei.ext Derzeit hole ich ihn mit über $* - aber das hilft mir leider nicht weiter, weil ja die Leerzeichen "im Weg" sind.

Kann mir jemand sagen wie das geht? Wäre echt dankbar darüber. Gruß Kirchrath

Zombie_im_Bademantel

Avatar von Zombie_im_Bademantel

Anmeldungsdatum:
13. April 2005

Beiträge: 655

Übergebe den Pfad umgeben von Anführungszeichen:

dein_script.sh "/pfad/mit leerzeichen/usw/"

bzw. umgeben von Hochkommata, wenn du den Pfad mittels Tab-Autovervollständigung übergeben willst (dann werden keine \ vor die Leerzeichen gesetzt):

dein_script.sh '/pfad/mit leerzeichen/usw/'

Im Script selber musst du die Variable, in welcher der Pfad gespeichert wird, auch mit Anführungszeichen einbauen, also zB "$VARIABLE".

kirchrath

(Themenstarter)

Anmeldungsdatum:
22. August 2008

Beiträge: 14

Ich kann zwar leider um den Pfad beim übergeben keine Anführungszeichen setzten, aber das Setzen von Anführungszeichen im Script selbst hab funktioniert. Vielen vielen Dank!

Zombie_im_Bademantel

Avatar von Zombie_im_Bademantel

Anmeldungsdatum:
13. April 2005

Beiträge: 655

Freut mich! Markier den Thread nopch als gelöst und alles ist gut 😉 Nur aus Neugier: warum kannst du beim Übergeben des Pfads keine Anführungszeichen setzen?

kirchrath

(Themenstarter)

Anmeldungsdatum:
22. August 2008

Beiträge: 14

Ich habe dieses Script um damit Dateien mit einem Programm mit "speziellen" Parametern zu öffnen. Und ich wollte die Konfigurationsdatei des Programms eigentlich unberührt lassen.

Gruß Kirchrath

Antworten |