端末からSafariを開くことができません。私が試したコマンドは
/Applications/Safari/Contents/MacOS/Safari http://www.example.com
Safariが開き、次のURLに移動しようとします。
file:///Current/Terminal/Path/Here/http:/www.example.com
私は知っています、open
を使用してそれを行うことができます:
open -a safari http://www.example.com
しかし、私はできません。全体像はかなり複雑です。実際には、コマンドライン.NETアプリケーション(モノを使用して実行されています)からブラウザーを実行しようとしています。私が使う System.Process
コマンドを実行する.NETクラス。プロセスを制御できる必要があります(プロセスIDを取得し、アクティブかどうかを確認し、必要に応じて強制終了するなど)。 open
コマンドを使用しても正しいプロセスIDが返されません(open
と-W
スイッチ-どちらも役に立ちません)。
1つの解決策はこれを2回行うでしょう
tell application "Safari" to open location "http://www.google.com"
これがワンライナーです:
/Applications/Safari.app/Contents/MacOS/Safari & sleep 1 && osascript -e 'tell application "Safari" to open location "http://www.google.com"'
注意:Safariはまだ開始されていないため、AppleScriptを実行する前に待機する必要があります。 sleep 1
mightは、Safariの起動に必要な時間に実際に依存するため、すべてのケースで機能するわけではありません。