首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用命令行在OS X上启动应用程序

使用命令行在OS X上启动应用程序
EN

Stack Overflow用户
提问于 2009-08-21 04:55:55
回答 13查看 189.5K关注 0票数 139

我想在OSX上通过脚本启动一个应用程序。我需要向它传递命令行参数。不幸的是,open不接受命令行参数。

我能想到的唯一选择是使用nohup myApp > /dev/null &启动我的应用程序,这样它就可以独立于启动它的脚本而存在。

有什么更好的建议吗?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2009-08-20 21:28:00

在OS X 10.6中,open命令得到了增强,允许向应用程序传递参数:

代码语言:javascript
运行
复制
open ./AppName.app --args -AppCommandLineArg

但对于Mac的老版本,由于应用程序包不是为传递命令行参数而设计的,因此传统的机制是对文件使用Apple Events,如用于可可应用程序的here或用于碳排放应用程序的here。您还可以通过使用环境变量传递参数来做一些杂乱无章的事情。

票数 102
EN

Stack Overflow用户

发布于 2009-10-18 01:48:05

正如问题here中提到的,10.6中的open命令现在有一个args标志,因此您可以调用:

open -n ./AppName.app --args -AppCommandLineArg

票数 119
EN

Stack Overflow用户

发布于 2009-08-21 05:01:43

应用程序包( .app文件)实际上是一堆目录。而不是使用open.app名称,您实际上可以移到它并启动实际的二进制文件。例如:

代码语言:javascript
运行
复制
$ cd /Applications/LittleSnapper.app/
$ ls
Contents
$ cd Contents/MacOS/
$ ./LittleSnapper

这是实际的二进制文件,它可能接受参数(在LittleSnapper的情况下,也可能不接受)。

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1308755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档