• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Datei über Programm ausführen

  • Ersteller MacRamius
  • Erstellt am

MacRamius

Gast
Hallo zusammen,
Ich habe folgendes Problem, vielleicht könnt ihr mir helfen, bin ziemlicher Terminal-Neuling.
Ich verwende ein Programm (gravlens von C.Keeton). Auf Linux hatte ich kein Problem damit, in der Konsole "gravlens dateixy" einzugeben, sofern beide Dateien im aktuellen Ordner waren, und dateixy wurde mit gravlens ausgeführt; also auf Linux kein Problem.
Wenn ich jetzt aber bei OS X zB Befehle wie "open -a gravlens dateixy" eingebe, was ja auch dateixy mit gravlens ausführen sollte, heisst es nur immer "Couldn't open ..../dateixy" ? Was gäbs da sonst noch für Möglichkeiten? Kann ich den Mac Terminal irgendwie auf Linux Konsole trimmen? Danke!
 

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
rufs doch einfach mit "gravlens dateixy" auf, wie unter linux ;)
 

Trapper

Meraner
Registriert
12.05.05
Beiträge
231
Ist das Programm in einem Verzeichnis installiert, das in der PATH-Umgebungsvariable enthalten ist?

Falls nein: Wenn du im gleichen Verzeichnis bist, wie das Programmbinary musst du folgenden Aufruf verwenden:
Code:
./gravlens dateixy

Das Beispiel setzt voraus, dass für das Programm gravlens die korrekten Dateisystemrechte gesetzt sind (+x).
 

MacRamius

Gast
rufs doch einfach mit "gravlens dateixy" auf, wie unter linux ;)

Das war das erste, was ich versuchte; umsomehr war ich verwundert, dass das nicht funktioniert, gibts da so grosse Unterschiede zwischen linux und mac Konsolen?

Beide, sowohl Programm wie auch Datei sind im selben Verzeichnis drin, von wo aus ich auch starten will. Werd dass mit dem ./ mal probieren...

Edit:
Jep, das mit dem ./ hat funktioniert, vielen Dank!
Neue Frage: Wie bring ich ein Verzeichnis in die PATH-Umgebungsvariable?
 
Zuletzt bearbeitet von einem Moderator:

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
ne, die unterschiede sind nicht so groß, auch unter linux wäre ./ erforderlich gewesen wenn das programm im selben ordner liegt ;)
 

Trapper

Meraner
Registriert
12.05.05
Beiträge
231
Neue Frage: Wie bring ich ein Verzeichnis in die PATH-Umgebungsvariable?

Wird z.B. hier erklärt.

zeno schrieb:
auch unter linux wäre ./ erforderlich gewesen wenn das programm im selben ordner liegt

Es soll Distributionen geben, in denen "." im Pfad enthalten ist (und auch Admins, die das System so konfigurieren). Die Vor- und Nachteile muss natürlich jeder selbst abwägen :)
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Wenn ich jetzt aber bei OS X zB Befehle wie "open -a gravlens dateixy" eingebe, was ja auch dateixy mit gravlens ausführen sollte,
Nein, so ist das nicht.
'open' ist nicht dazu gedacht, Programme für die Terminal-Umgebung zu starten. 'open' ist (unter anderem) dafür da, um aus dem Terminal (oder einem Shellscript) heraus ein Programmpaket für die Mac OS Umgebungen Carbon oder Cocoa zu öffnen.
Das sind diese Ordner (!) mit dem Suffix *.app - dein Programme-Ordner ist voll mit denen.
'open' soll dir helfen, aus der Kommandozeilenumgebung heraus einige der höheren Features des OS zu nutzen, die dir nur mit üblichen CLI-Programmen nicht zugänglich wären. Beispielsweise kannst du damit ein Dokument mit seinem in der GUI zugewiesenen Standardprogramm öffnen, ohne zu wissen wo es installiert ist, wie es heisst oder sogar welches das im Moment denn überhaupt ist. Anders gesagt: Die Funktionalität eines Doppelklick im Finder, aber aus der Shell heraus.
Auch eine Drag&Drop-Aktion im Finder kann (bis zu gewissen Grenzen) damit auch auf der Kommandozeile oder (das ist der Knackpunkt) aus einem Shellscript heraus durchgeführt werden.
(und noch ein bisschen mehr)