我试图从 Cocoa 程序启动的 NSTask /bin/sh 执行命令行工具(BBEdit 的“bbdiff”)。
这失败了,即使我可以从终端成功启动。
我追查了原因;bbdiff
在/usr/local/bin
.
终端中使用的 PATH 是
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
但是 NSTask 启动的 bash shell 中使用的 PATH 只是
/usr/bin:/bin:/usr/sbin:/sbin
为什么有区别?我以为/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
是 UNIX 使用的正常路径