我想在OSX上通过脚本启动一个应用程序。我需要向它传递命令行参数。不幸的是,open不接受命令行参数。
我能想到的唯一选择是使用nohup myApp > /dev/null &启动我的应用程序,这样它就可以独立于启动它的脚本而存在。
有什么更好的建议吗?
发布于 2009-08-20 21:28:00
在OS X 10.6中,open命令得到了增强,允许向应用程序传递参数:
open ./AppName.app --args -AppCommandLineArg但对于Mac的老版本,由于应用程序包不是为传递命令行参数而设计的,因此传统的机制是对文件使用Apple Events,如用于可可应用程序的here或用于碳排放应用程序的here。您还可以通过使用环境变量传递参数来做一些杂乱无章的事情。
发布于 2009-10-18 01:48:05
正如问题here中提到的,10.6中的open命令现在有一个args标志,因此您可以调用:
open -n ./AppName.app --args -AppCommandLineArg
发布于 2009-08-21 05:01:43
应用程序包( .app文件)实际上是一堆目录。而不是使用open和.app名称,您实际上可以移到它并启动实际的二进制文件。例如:
$ cd /Applications/LittleSnapper.app/
$ ls
Contents
$ cd Contents/MacOS/
$ ./LittleSnapper这是实际的二进制文件,它可能接受参数(在LittleSnapper的情况下,也可能不接受)。
https://stackoverflow.com/questions/1308755
复制相似问题