问题: 我希望能够从我的 cocoa 应用程序(OS X)运行 bash 实例,并加载所有正常配置文件(~/.bash_profile 等)。我不想手动加载配置文件,因为我想要一个默认的 bash 实例,该实例与通过触发终端获得的实例完全相同。从那里,我想检索一些预定义的环境变量(Ruby 版本管理器的变量)。
我尝试过的: 我已经尝试过一些解决方案但没有成功。让我在这里列出它们:
- NSTask
- 系统()调用
对于每个解决方案,我尝试执行“/bin/sh -l”以将 bash 实例加载为当前用户名...不幸的是它不起作用。
最佳答案
当您以 sh
身份运行 bash
时,它会以兼容模式运行,不会读取 .bash_profile
。如果您想运行 bash
,请运行 /bin/bash
(或者如果您希望其他人使用您的应用程序,请确保您考虑了用户选择的任何 shell。 )
关于cocoa - 如何在 Objective-C 中获取加载了默认配置文件的 bash 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4299798/