在Mac上,是否有任何简单的方法可将命令行参数附加到应用程序?例如,要在信息亭模式下运行Opera或在Firefox中使用其他配置文件,我可以输入
$ /Applications/Opera.app/Contents/MacOS/Opera -kioskmode
$ /Applications/Firefox.app/Contents/MacOS/firefox -P profilename -no-remote
在Windows中,我可以将参数附加到快捷方式属性中,但是由于Macs本身并不使用快捷方式而是直接运行应用程序,因此这是不可能的。
我发现通过bash或Applescript启动应用程序部分有效:
# Bash
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote
# Applescript
do shell script "exec /Applications/Opera.app/Contents/MacOS/Opera -kioskmode"
我可以使这些可执行文件并分配一个图标,并且一切正常,但是当我运行这些伪程序中的任何一个时,只要打开应用程序,终端窗口或Applescript图标都会保持打开状态。大概,使用Applescript命令open
可以避免这种情况,但是由于我没有运行打包的应用程序(只是/Applications/Firefox
),所以它不起作用。
因此,是否有更好的方法来运行带有命令行参数的应用程序?如果不是,是否有一种方法可以防止在打开应用程序时持续的终端会话或Applescript图标保持打开状态?
编辑
根据Mozilla Wiki页面,最好使用脚本来运行带有参数的应用程序。&
在脚本的末尾添加a 将终止持久性Terminal窗口。现在唯一的烦恼是它打开了一个死的,已注销的终端窗口(这比持久窗口要好,但仍然...)
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &
&
仍属于终端时,可以通过disown %/Applications/Firefox.app/Contents/MacOS/firefox
在运行后添加该行来解决此问题,然后可以使用AppleScript安全地关闭终端。