Je suis confus de suivre script ( hello.go
).
//usr/bin/env go run $0 $@ ; exit
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
Il peut exécuter. (sur MacOS X 10.9.5)
$ chmod +x hello.go
$ ./hello.go
hello, world
Je n'ai pas entendu parler de shebang à partir de //
. Et cela fonctionne toujours lorsque j'insère une ligne vierge en haut du script. Pourquoi ce script fonctionne-t-il?
///....
au lieu d' //...
être la plus compatible!
go run "$0" "$@"
//&>/dev/null;x="${0%.*}";[ ! "$x" -ot "$0" ]||(rm -f "$x";cc -o "$x" "$0")&&exec "$x" "$@"
...