• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Programmordner (*.app) mit Parametern starten?

naich

Pomme d'or
Registriert
22.11.08
Beiträge
3.082
Hallo,

Ich möchte ein Programm mit Parametern starten, im Beispiel möchte ich Firefox mit dem Parameter "-p" starten, um den Profil-Manager aufzurufen.
Nun 2 Fragen:

1) Ist so ein Start mit Parametern NUR im Terminal möglich, oder gibt es wie unter Windows Erweiterungen, die dies direkt aus dem Finder erlauben?

2) Kann man (im Terminal) ein Programm mit der Endung .app (bzw. der Ordner) mit Parametern starten?
Meine Versuche haben bisher nur dahin geführt, dass ich in den Ordner ./firefox.app/Contents/MacOS/ wechseln kann, und firefox-bin direkt mit dem Parameter auf der Kommandozeile starte...
Ich möchte dies aber idealerweise direkt mit den xxx.app "Programmordnern" machen, um nicht jedes mal die "richtige" ausführbare Datei raussuchen zu müssen.

Kann man evt. ein Alias von Firefox erzeugen, und den Parameter durch Modifikation dranhängen (wie unter WIN)? Das Informationsfenster schint da keine Änderungen möglich zu machen.

Danke für eure Hinweise!
 
Zuletzt bearbeitet:
Das Binary ist in /Applications/Firefox.app/Contents/MacOS/ dort kannst du dann firefox -p starten.
 
Das Binary ist in /Applications/Firefox.app/Contents/MacOS/ dort kannst du dann firefox -p starten.

Das habe ich schon probiert, weiß, dass es funktioniert, und auch unter meine 2. Frage geschrieben (hatte nur den Pfad falsch eingetippt). Das beantwortet aber die Fragen leider nicht...
 
Parameter kann du in Aliassen keine setzen, eine Möglichkeit wäre aber ein simples AppleScript:
Code:
do shell script "/Pfad/zum/Programm -Parameter"
 
  • Like
Reaktionen: awk
Parameter kann du in Aliassen keine setzen, eine Möglichkeit wäre aber ein simples AppleScript:
Code:
do shell script "/Pfad/zum/Programm -Parameter"

Das stimmt, nur in diesem Fall muss ich wieder die "richtigen" Programmmdateien mir rausfischen, weil dies geht...

Code:
do shell script "/Applications/firefox.app/Contents/MacOS/firefox-bin -p"
.. während dies nicht geht:

Code:
do shell script "/Applications/firefox.app -p"

Und das ist genau mein Anliegen, nicht in den xxx.app - Ordnern rumsuchen zu müssen...
 
Ideal wäre nen Finder-Script (man kann doch apple-Scripte ins Findermenü irgendwie einbinden...), welches den gerade im Finder markierten .app-Ordner ausliest, die richtige binary bestimmt, einen Parameter abfragt, und das Programm dann startet. Ich habe aber nur keine Ahnung, ob und wie das geht...
 
Was ich dir anbieten kann:

- Rechtsklick auf die Firefox-App
- Mehr
- Arbeitsablauf erstellen

--> Der Automator öffnet sich und rechts ist unter "Angegebene Finder Objekte abfragen" bereits firefox zu sehen.

- ganz Links wählst du unter Bibliothek/Dienstprogramme/Applescript ausführen
- Danach kopierst du die obrige Zeile (das Skript) an den richtigen Platz.
- Letzer Punkt: Ablage/"Als Plug-In sichern" auswählen

Resultat: wenn du einen Kontextklick auf Firefox machst, dann kannst du unter "Mehr" das Skript auswählen.

Alternativ: du erstellst nur ein Skript und öffnest FF mit dessen Hilfe.


So sollte das aussehen:

Click for full size - Uploaded with plasq's Skitch
 
Parameter kann du in Aliassen keine setzen, eine Möglichkeit wäre aber ein simples AppleScript:
Code:
do shell script "/Pfad/zum/Programm -Parameter"

Hallo,

bei mir funktioniert es aus irgendeinem Grund nicht.
Ich bekomme eine Fehlermeldung "no such file or directory" und der Pfad bricht bei einem Leerzeichen im Ordnernamen ab. Die Datei habe ich einfach in das Fenster reingezogen, der Pfad sollte also richtig sein.

Woran kann es liegen?

Vielen Dank im Voraus!
 
Also Leerzeichen musst du mit nem Backslach escapen also z.B.: test\ 1

Warum er deinen Pfad nicht erkennt, kann ich nicht sagen, ich sehe in und deine Festplatte schließlich nicht.
Poste den Pfad doch mal konkret.
 
Du musst Leerzeichen mit einem umgekehrten Schrägstrich escapen. Und da der einfache umgekehrte Schrägstrich auch das Escape-Symbol von AppleScript ist, musst du diesen noch mal escapen :) .

Im Endeffekt setzt du also „\\“ vor das Leerzeichen:

Code:
do shell script "/Pfad/Ordner\\ mit\\ Leerzeichen/Programm -Parameter"
 
Vielen Dank!
Das mit dem doppelten umgekehrten Schrägstrich hat wunderbar geklappt. :)

Das Script habe ich nun als Programm abgespeichert. Nachdem ausführen läuft es aber solange ich das Programm, das der Script gestartet hat, nicht beende.
Wie kann ich nun dieses Script automatisch nach dem Ausführen beenden?