首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OS X GUI Cocoa应用程序与shell交互

OS X GUI Cocoa应用程序与shell交互
EN

Stack Overflow用户
提问于 2012-11-21 01:30:37
回答 1查看 301关注 0票数 2

背景:

我们正在开发一个仅供内部使用的可可应用程序,以帮助我们完成一些基本的系统管理任务和复杂的网站部署。这个应用程序基本上是许多不同bash shell命令的包装器。这些命令的输出有时需要解析或显示给用户。

我们已经尝试过NSTask,并且能够启动一些脚本。然而,这看起来有点麻烦(需要设置确切的路径,分别传入每个参数,等等)。如果这确实是首选的方法,我们可以这样使用NSTask。

到目前为止,最大的挑战是设置shell环境。我们与许多ruby gem和程序进行交互,并使用capistrano进行部署。

问题是:

我们如何通过像用户一样的环境设置来与shell交互?(别名、rvm、拼音、路径)

EN

Stack Overflow用户

回答已采纳

发布于 2012-11-21 13:44:24

您将看到在Terminal.app中的shell中设置的环境变量在很大程度上受限于您在终端上下文中使用的shell。它不会被"NSTask“自动拾取。

但是..。你是有选择的。Some of them are described in answers to this related question

您可以通过"~/.launchd.conf“文件设置更多的通用环境变量,或者您可以通过"NSTask”文件设置“NSTask”的外壳程序,使其与通过"[NSTask setLaunchPath:]“(其中启动路径是您的外壳程序)的终端(这意味着您选择.bashrc或.profile或任何初始化路径)中的外壳程序相匹配。

当然,你也可以在你的工具中调用"system()“。这也可以获取在"~/.launchd.conf“文件中设置的变量。

More information on environment variables is available in this question.

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13478755

复制
相关文章

相似问题

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