cocoa - 如何在 Objective-C 中获取加载了默认配置文件的 bash 实例

标签 cocoa macos bash rvm

问题: 我希望能够从我的 cocoa 应用程序(OS X)运行 bash 实例,并加载所有正常配置文件(~/.bash_profile 等)。我不想手动加载配置文件,因为我想要一个默认的 bash 实例,该实例与通过触发终端获得的实例完全相同。从那里,我想检索一些预定义的环境变量(Ruby 版本管理器的变量)。

我尝试过的: 我已经尝试过一些解决方案但没有成功。让我在这里列出它们:

  1. NSTask
  2. 系统()调用

对于每个解决方案,我尝试执行“/bin/sh -l”以将 bash 实例加载为当前用户名...不幸的是它不起作用。

最佳答案

当您以 sh 身份运行 bash 时,它会以兼容模式运行,不会读取 .bash_profile。如果您想运行 bash,请运行 /bin/bash (或者如果您希望其他人使用您的应用程序,请确保您考虑了用户选择的任何 shell。 )

关于cocoa - 如何在 Objective-C 中获取加载了默认配置文件的 bash 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4299798/

相关文章:

cocoa :Lion 的全局捷径

macos - 用户在 Mac 上打开其他 NSStatusItem 菜单的通知

linux - 退出 bash 脚本但保持进程运行

bash - su输入命令中如何定义环境变量

objective-c - cocoa 屏幕保护程序 View

ios - 如何将 NSTextView 从 nib 链接到 windowController?

macos - 在 OS X 内核扩展中获取套接字的所有者

bash - 为ssh获取短路

iphone - 观察数组元素的顺序

swift - 以编程方式获取 iCloud 文档共享链接