ubuntuusers.de

Leerzeichen im Dateipfad

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

0cool

Anmeldungsdatum:
14. Juni 2005

Beiträge: 86

Hey leute,

ich wollte ein kleines script schreiben mit dem ich miranda von jedem beliebigen ort aus in der console aufrufen kann. Leider hat mir wine bei der installation von Miranda ein Leerzeichen in den Pfad eingebaut grmpf und natürlich hängt das ganze an diesem tollen leerzeichen das er den pfad nicht findet.

Mein script:

#!/bin/bash

cd /home/ocool/.wine/drive_c/Programme/Miranda\ IM
#wine miranda32.exe &
dir

das dir ist nur zur kontrolle da ob es mit dem verzeichnisswechsel geklappt hat. (kommt weg sobald der verzeichnisswechsel funkt).

wie kann ich oder besser gesagt wie muss ich mit dem leerzeichen in dem Pfad umgehen??

Danke scho mal für eure hilfe

0cool

SirSiggi

Avatar von SirSiggi

Anmeldungsdatum:
12. September 2005

Beiträge: 823

So machts der IE von ies4linux

#!/bin/bash
cd
WINEPREFIX="/home/andreas/.ies4linux/ie6" wine "/home/andreas/.ies4linux/ie6/drive_c/Program Files/Internet Explorer/IEXPLORE.EXE" "$@"

Das waere dann wohl fuer Miranda (ungetestet):

#!/bin/bash
cd
WINEPREFIX="/home/ocool/.wine/drive_c/Programme/Miranda\ IM" wine "/home/ocool/.wine/drive_c/Programme/Miranda\ IM/miranda32.exe" "$@"

Sid_Burn

Anmeldungsdatum:
23. Oktober 2004

Beiträge: 2159

Einfach um den ganzen Pfad ein Hochkomma oder Anführungszeichen setzen. Damit verhinderst du das der Pfad von der Shell Interpretiert wird. Allerdings sollte es eigentlich mit deiner Methode auch klappen, wenn du das Leerzeichen mit einem Backslash escapesed.

cd '/home/ocool/.wine/drive_c/Programme/Miranda IM'

/edit:

Beziehungsweise kannst du das auch in einem Schritt machen.

wine '/home/ocool/.wine/drive_c/Programme/Miranda IM/miranda32.exe' &


Kann sein das deine Methode nicht klappt wegen den Umgebungsvariablen.

/edit2:
Achso, es klappt deswegen nicht, weil das hier kein Windows ist. Die Bash führt nicht automatisch die Befehle aus, die sich im aktuellen Verzeichnis befinden.

Wenn du also lediglich "miranda32.exe" angibst, dann wird die Ausführbare Datei in den Verzeichnissen gesucht, die in der PATH Variable stehen. Dort wird natürlich nirgendswo "miranda32.exe" gefunden.

Wenn du eine Datei explizit aus dem aktuellen Verzeichnis starten möchtest, dann musst du ein "./" davor schreiben. Also "./miranda32.exe" Der Punkt steht für das aktuelle Verzeichniss.

Oder du benutzt halt wie gesagt die Methode alles sofort in einem Rutsch aufzurufen, so wie ich es bei Edit2 zeigte.

Ansonsten noch beachten das Groß/kleinschreibung unterschieden wird.

Und demnächst bitte Fehlermeldungen Posten. Ein einfaches "Geht nicht!" ist etwas wenig. Weiterhin hattest du ja "dir" zur Überprüfung hinzugefügt, wäre auch Toll gewesen, wenn du gesagst hättest was dabei heraus gekommen ist. 😉 Also ob er in das verzeichniss gewechselt ist, oder nicht. Und dann auch immer Fehlermeldungen Posten, wenn etwas nicht klappt.

0cool

(Themenstarter)

Anmeldungsdatum:
14. Juni 2005

Beiträge: 86

@SirSiggi: Danke erstmal für deine schnelle antwort. Mit diesem Script klappts jetzt

#!/bin/bash

cd
WINEPREFIX="/home/ocool/.wine/drive_c/Programme/Miranda\ IM"
wine "/home/ocool/.wine/drive_c/Programme/Miranda IM/miranda32.exe" &

noch eine frage, der befehl wineprefix pfad legt eine Umgebungsvariable für wine an, stimmt das??

Ich bin immer wieder begeistert von diesem Forum, keine dummen antworten auch wenn die frage noch so blöd ist. Das findet man in wenigen Foren.

0cool

haraldkl

Avatar von haraldkl

Anmeldungsdatum:
21. Juli 2005

Beiträge: 1903

Wohnort: Würselen

Ja,
WINEPREFIX ist eine Variable, die in deinem Skript gesetzt wird, und von wine genutzt wird. 😉

Antworten |