android-AppleScript“执行shell脚本”忽略PATH变量
作者:互联网
我正在尝试在MacOS X上使用applescript构建自动构建脚本.
现在,一切正常,只有一个小故障.
如果我在一个单独的告诉应用程序“ Terminal”中运行它,则命令“ do script(“ zipalign -f -v 4 /tmp/src.apk /tmp/tgt.apk”)可以正常工作,但在打开终端窗口时脚本中的其他所有内容都可以很好地告诉应用程序“ Finder”.
如果我尝试通过告诉“ Finder”中的“ do shell script”运行命令,则只会收到错误“找不到命令”.
zipalign的路径在/ etc / paths中设置,并且可以通过任何终端窗口和“ do shell”访问,但不能通过“ do shell script”命令访问.
确保“ do shell脚本”使用$PATH查找命令的正确方法是什么,或者是否存在一种防弹方法来关闭“ do script”留下的终端?
解决方法:
当您将bash作为交互式登录shell调用时,/ etc / paths和/etc/paths.d/*中的路径由/usr/libexec / path_helper添加到PATH,该路径从/ etc / profile运行. do shell脚本以sh和非交互非登录shell(不读取/ etc / profile)的形式调用bash.
您可以通过以下方式手动运行path_helper:
do shell script "eval `/usr/libexec/path_helper -s`; echo $PATH"
标签:xamarin,applescript,android,macos 来源: https://codeday.me/bug/20191030/1968328.html