我正在尝试编写一个 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行:去:找不到命令如果我只是手动转到目录并运行命令,它们就可以正常工作。从脚本运行时它们为什么不执行?
1 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
我猜你遵循了 go 安装页面上的安装说明,告诉你在~/.profile文件中添加一些行。该文件不会为非交互式会话加载(例如,您的脚本)。因此,您需要将其添加到 shell 的 rcfile 中,或者通过脚本中的完整路径引用 go 二进制文件。
go您可以通过在 shell中运行来找出完整路径:
$ which go
/path/to/go
然后,在您的脚本中:
GO=/path/to/go
$GO command
或者,您可以扩展PATH脚本内部:
PATH=$PATH:/path/to
- 1 回答
- 0 关注
- 378 浏览
添加回答
举报
0/150
提交
取消