我正在运行一个自定义脚本,其中包含一个bash应该知道的命令(ios-sim)(二进制文件位于/usr/local/bin,$PATH知道).但是,当由
xcodebuild调用时,控制台会记录“未找到命令”.
我能够手动执行命令,但我不知道为什么它在运行脚本中不起作用.我检查过用户,但正如我预期的那样,两次都是同一个用户……
调用ios-sim的行:
ios-sim launch $(dirname $TEST_HOST) $environment_args --args -SenTest All $test_bundle_path -v
解决方法
而不是依赖$PATH,其值不明显,使用ios-sim的整个路径.
编辑自定义脚本并进行更改:
ios-sim launch ...
至
/usr/local/bin/ios-sim launch ...
使用$PATH的原因可能是危险的(也许是一个字太强),因为它的设置并不明显.例如,Xcode将使用在/etc/launchd.conf中配置的路径,并且/ us / / local / bin可能已添加到/ etc / profile或〜/ .bash_profile中.
> launchd会使用/ etc / profile中的值从而将其传递给Xcode使用吗?
> Xcode启动的脚本是使用/ etc / profile还是〜/ .bash_profile?