Go言語でコマンドを自作してみる
実行環境
- manjaro
- zsh
- go1.12.5
使用するパッケージ
- os
- log
- fmt
実際に作ってみる
目次
- コマンド名を決めてファイルを作る
- コマンドの中身を作る
- ビルドする
- 実行ファイルがある場所にパスを通す
- 使ってみる
コマンド名を決めてファイルを作る
$ vim <コマンド名>.go
作りたいコマンドの名前のファイルを作ります。
※拡張子に.goをつけます。
※この記事ではmake_directory.go
コマンドの中身を作る
下のプログラムではmkdirと同じようなものを作っています
make_directory.go
package main
import (
"fmt"
"os"
"log"
)
func main() {
if len(os.Args)!=2{
fmt.Println("Please enter \"make_dirctory <dirctory name>\"")
os.Exit(0)
}
dir_name := os.Args[1]
if err := os.Mkdir(dir_name,0777); err != nil{
log.Fatal(err)
}
}
ビルドする
書いたプログラムをビルドして、実行ファイルを作成します。
$ go build <コマンド名>.go
実行ファイルがある場所にパスを通す
毎回実行ファイルがある場所を指定すれば、コマンドを実行できますがそれではめんどくさいので、パスを通します。
パスを通すために、.zshrcに下の文を追記します。
※bashを使っている場合は.zshrcではなく.bashrcです。
.zshrc
export PATH="$PATH:<実行ファイルのある場所>"
使ってみる
実行します
$ <コマンド名>