我正在嘗試編寫一個 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 關注
- 398 瀏覽
添加回答
舉報
0/150
提交
取消