GolangでShebangせっていしてUNIXでもWindowsでも即起動するスクリプトの書き方
Go言語(Golang)でプログラム書くのはいいけど、ちょっと短いスクリプトを試したいときはコンパイルするのが手間。
go run script_file
とすればインタプリタ的実行ができる。でも、いちいちこんな長いコマンド打つのもね~。
ということでUNIX系OSでは一行目に shebang と呼ばれるおなじみの呪文を書いておくことで、実行属性付きのGoスクリプトファイルを直接実行することができる。
//usr/bin/go run $0 $@ ; exit package main import "fmt" func main() { fmt.Printf( "Hello, World\n" ) }
こんなふうに一行目を書く。ほかのスクリプト言語に比べるとクソ長いが気にしない・・・。
まあ、ここまでは一般常識だと思う。ところで Windows では? こちらも Perl/PHP などで設定している人はあまり見ないが、似たようなことができる。
- Goがすでにインストールされていてパスが通っている
- Goスクリプトは拡張子
.go
だとする
前提で、以下のバッチファイルを管理者権限で実行する。
SETX PATHEXT %PATHEXT%;.GO -m ASSOC .go=goscript FOR /F "usebackq" %%t IN (`where go`) DO SET WHERE_IS_MY_GO=%%t FTYPE goscript=%WHERE_IS_MY_GO% run %%0 %%* PAUSE
これでエクスプローラからダブルクリックしようがコマンドラインからファイルを直接呼び出そうがGoスクリプトが実行される。
といってもまじめにアプリケーションつくってる人には関係ない話かもしんない・・・。
- 作者: Mat Ryer,鵜飼文敏,牧野聡
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/01/22
- メディア: 大型本
- この商品を含むブログ (2件) を見る
Pokémon GO Plus (ポケモン GO Plus) & 【Amazon.co.jp限定】オリジナルスマートフォン壁紙 配信
- 出版社/メーカー: 任天堂
- 発売日: 2016/09/16
- メディア: Video Game
- この商品を含むブログ (2件) を見る