스크립트 ( hello.go
)를 따르는 것이 혼란 스럽습니다 .
//usr/bin/env go run $0 $@ ; exit
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
실행할 수 있습니다. (MacOS X 10.9.5에서)
$ chmod +x hello.go
$ ./hello.go
hello, world
으로 시작하는 shebang에 대해들은 적이 없습니다 //
. 그리고 스크립트 상단에 빈 줄을 삽입해도 여전히 작동합니다. 이 스크립트는 왜 작동합니까?
///....
대신 사용해야 합니다 //...
!
go run "$0" "$@"
//&>/dev/null;x="${0%.*}";[ ! "$x" -ot "$0" ]||(rm -f "$x";cc -o "$x" "$0")&&exec "$x" "$@"
...