1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Datei über Programm ausführen

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von MacRamius, 27.04.07.

  1. MacRamius

    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!
     
  2. zeno

    zeno Lane's Prinz Albert

    Dabei seit:
    05.11.05
    Beiträge:
    4.898
    rufs doch einfach mit "gravlens dateixy" auf, wie unter linux ;)
     
  3. Trapper

    Trapper Boskop

    Dabei seit:
    12.05.05
    Beiträge:
    213
    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).
     
  4. MacRamius

    MacRamius Gast

    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?
     
    #4 MacRamius, 27.04.07
    Zuletzt von einem Moderator bearbeitet: 27.04.07
  5. zeno

    zeno Lane's Prinz Albert

    Dabei seit:
    05.11.05
    Beiträge:
    4.898
    ne, die unterschiede sind nicht so groß, auch unter linux wäre ./ erforderlich gewesen wenn das programm im selben ordner liegt ;)
     
  6. Trapper

    Trapper Boskop

    Dabei seit:
    12.05.05
    Beiträge:
    213
    Wird z.B. hier erklärt.

    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 :)
     
  7. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.896
    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)
     

Diese Seite empfehlen