Mar*_*zek 10 safari terminal command-line macos
我在从终端打开 Safari 时遇到问题。我试过的命令是
/Applications/Safari/Contents/MacOS/Safari http://www.example.com
Run Code Online (Sandbox Code Playgroud)
Safari 打开并尝试导航到 url:
file:///Current/Terminal/Path/Here/http:/www.example.com
Run Code Online (Sandbox Code Playgroud)
我知道,我可以使用open
:
open -a safari http://www.example.com
Run Code Online (Sandbox Code Playgroud)
但我不能。更大的图景非常复杂:我实际上是在尝试从命令行 .NET 应用程序(使用单声道运行)运行浏览器。我使用System.Process
.NET 类来运行命令,并且我必须能够控制进程(获取进程 ID,检查它是否处于活动状态,必要时将其杀死,等等)。使用open
命令不会返回正确的进程ID(我尝试使用open
带-W
开关-也没有帮助)。
一种解决方案将在 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"'
Run Code Online (Sandbox Code Playgroud)
注意:您需要等待才能运行 AppleScript,因为 Safari 尚未启动。这sleep 1
可能并不适用于所有情况,因为它实际上取决于 Safari 需要多长时间启动。
归档时间: |
|
查看次数: |
50563 次 |
最近记录: |