我試圖從Cocoa程序啓動的NSTask/bin/sh執行命令行工具(BBEdit的「bbdiff」)。什麼決定了NSTask的默認路徑 - 以及它爲何與終端不同
儘管我可以從終端成功啓動,但失敗了。
我追查了原因; bbdiff
在/usr/local/bin
。
在終端使用的路徑是
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
然而,在通過NSTask推出的bash shell使用的路徑僅
/usr/bin:/bin:/usr/sbin:/sbin
爲什麼不同?我以爲/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
是由UNIX
這可能是未定義的。最好測試你想運行的二進制文件,並使用完整路徑執行它。 – trojanfoe