我无法从终端打开 Safari。我尝试的命令是
/Applications/Safari/Contents/MacOS/Safari http://www.example.com
Safari 打开并尝试导航到以下网址:
file:///Current/Terminal/Path/Here/http:/www.example.com
我知道,我可以使用以下方法做到这一点open
:
open -a safari http://www.example.com
但我不能。整体情况相当复杂:我实际上正尝试从命令行 .NET 应用程序(使用 mono 运行)运行浏览器。我使用System.Process
.NET 类来运行命令,并且我必须能够控制进程(获取进程 ID、检查它是否处于活动状态、必要时终止它等)。使用open
命令不会返回正确的进程 ID(我尝试使用open
switch -W
- 也没有帮助)。
答案1
一个解决方案是分两次执行
- 打开 Safari
- 使用 AppleScript 打开 URL
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"'
注意:您需要等待一段时间才能运行 AppleScript,因为 Safari 尚未启动。这sleep 1
可能并非在所有情况下都有效,因为这实际上取决于 Safari 需要多长时间才能启动。