I'm trying to write a bash script to automatically run a go get/install in different directories. The relevant part is here:
( cd ../web ; go get )
( cd ../web ; go install )
( cd ../services ; go get )
( cd ../services ; go install )
When I execute the script, I get this though:
If I just go to the directories manually and run the commands, they work fine. Why aren't they executing when running from the script?
I'm guessing you followed the installation instructions on the go installation page that tell you to add some lines to your ~/.profile
file. This file doesn't load for non-interactive sessions (eg; your script.) So you either need to add it to your shell's rcfile, or reference the go binary by it's full path in your script.
You can find out the full path of go
by running in your shell:
$ which go
/path/to/go
Then, in your script:
GO=/path/to/go
$GO command
Or, you can extend your PATH
inside the script:
PATH=$PATH:/path/to