【发布时间】:2019-09-22 00:11:57
【问题描述】:
如果我从 Xcode 调试命令行应用程序,我得到的 $PATH 与从终端会话运行相同的应用程序不同。
例如,从终端运行时:
$env | grep "PATH="
//output: PATH=/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
...
来自 Xcode 调试会话:
let environment = ProcessInfo.processInfo.environment
print(environment["PATH"] ?? "No PATH found")
//output: /Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
因此,调试时某些命令行应用程序不可用。
如何在 Xcode 调试会话中获取终端窗口 $PATH 环境变量?
【问题讨论】:
-
Xcode(和其他从 Finder 启动的 GUI 应用程序)不会读取用户的 .profile 文件。请参阅stackoverflow.com/questions/135688/… 了解一些可能的解决方案。
标签: swift xcode macos shell command-line