Bash 脚本无法执行 Go 命令

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


( cd ../web ; go get )

( cd ../web ; go install )

( cd ../services ; go get )

( cd ../services ; go install )

当我执行脚本时,我得到了这个:

  • 光盘../网络

  • 去获取
    ./staging.sh:第43行:去:找不到命令

  • 光盘../网络

  • 去安装
    ./staging.sh:第44行:去:找不到命令

  • cd ../服务

  • 去获取
    ./staging.sh:第45行:去:找不到命令

  • cd ../服务

  • 去安装
    ./staging.sh:第46行:去:找不到命令

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


MMTTMM
浏览 379回答 1
1回答

拉风的咖菲猫

我猜你遵循了 go 安装页面上的安装说明,告诉你在~/.profile文件中添加一些行。该文件不会为非交互式会话加载(例如,您的脚本)。因此,您需要将其添加到 shell 的 rcfile 中,或者通过脚本中的完整路径引用 go 二进制文件。go您可以通过在 shell中运行来找出完整路径:$ which go/path/to/go然后,在您的脚本中:GO=/path/to/go$GO command或者,您可以扩展PATH脚本内部:PATH=$PATH:/path/to
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go