Golang : Go as a script or running go with shebang/hashbang style

One of the job scope of Unix/Linux system administrator is to write shell scripts to accomplish certain task. However, there are times when the shell scripting language has limited capabilities. Such as establishing secure transport layer or upload files to AWS-S3. With Golang, these can achieved easily and it is easy to use Golang to replace shell scripts.

To execute Golang program as a shell script. Put this line at the top of your code.

 //usr/bin/env go run $0 $@; exit

NOTE : For Golang, the line with // will treated as comment and this is to shut up the compiler. As for the shell executing this script, the // line will invoke go command with the name of the file and then exit.

For example :


 package main

 import "fmt" 

 func main() { 
 fmt.Println("Running as a script!") 

Next, change the permission of the file to become executable.

chmod a+x hashbang.go



Running as a script!

Hope this helps!

Reference :


By Adam Ng
