osascript -e 'tell application "Firefox"' -e 'open location "http://example.com/"' -e 'end tell'
Das sollte es tun, in einem neuen Tab, nicht in einem neuen Fenster, wenn das in Ordnung ist.
Die Antwort in Öffnen eines neuen Firefox-Fensters mit URL-Argument ist in Mac OSX Mountain Lion (10.8.2) nicht zulässig. Ich kann diese Antwort oder Frage nicht kommentieren, also musste ich eine neue Frage erstellen.
Es fällt so aus:
$ firefox-window http://www.yahoo.com dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/osascript) is code signed with entitlements
Das neue Fenster wird erfolgreich geöffnet, aber es ist leer (dh die Umgebungsvariable, die in der Bash-Funktion an AppleScript übergeben wird, wird ignoriert).
Gibt es eine alternative Möglichkeit, Variablen von der Kommandozeile an applescript zu übergeben? (vielleicht nicht mit bash?)
"Eine App im Sandkastenmodus kann AppleScript nicht verwenden, um mit einer anderen App auf Ihrem Mac zu kommunizieren, es sei denn, der Entwickler fordert speziell eine Berechtigung dazu an (und erhält diese)."
Ich vermute also, dass diese Einschränkung die oben verwendete Technik verhindert, dh ein Bash-Skript kann kein Apfelskript packen, das mit Firefox spricht.
Rufen Sie es direkt auf, anstatt die Shell-Variable ($ 1) zu verwenden. Das funktioniert zum Beispiel:
$ osascript ~/bin/firefox-window.scpt "http://www.yahoo.com"
Firefox öffnet ein neues Fenster in Richtung Yahoo.
osascript -e 'tell application "Firefox"' -e 'open location "http://example.com/"' -e 'end tell'
Das sollte es tun, in einem neuen Tab, nicht in einem neuen Fenster, wenn das in Ordnung ist.