繁体   English   中英

Bash脚本无法执行Go命令

[英]Bash script can't execute Go command

我正在尝试编写一个bash脚本来自动在其他目录中运行go get / install。 相关部分在这里:

( cd ../web ; go get )
( cd ../web ; go install )
( cd ../services ; go get )
( cd ../services ; go install )

当我执行脚本时,我得到的是:

  • cd ../web
  • 去弄
    ./staging.sh:第43行:go:找不到命令
  • cd ../web
  • 去安装
    ./staging.sh:第44行:go:找不到命令
  • cd ../服务
  • 去弄
    ./staging.sh:第45行:go:找不到命令
  • cd ../服务
  • 去安装
    ./staging.sh:第46行:go:找不到命令

如果我只是手动进入目录并运行命令,则它们可以正常工作。 为什么从脚本运行时它们不执行?

我猜您遵循了go安装页面上的安装说明,该说明告诉您在~/.profile文件中添加一些行。 该文件不会为非交互式会话(例如您的脚本)加载因此,您需要将其添加到Shell的rcfile中,或者通过脚本中的完整路径引用go二进制文件。

您可以通过在Shell中运行来找到go的完整路径:

$ which go
/path/to/go

然后,在您的脚本中:

GO=/path/to/go
$GO command

或者,您可以在脚本中扩展PATH

PATH=$PATH:/path/to

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM