LoginSignup
1
3

More than 3 years have passed since last update.

Go言語でコマンドを自作してみる

Posted at

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:<実行ファイルのある場所>"

使ってみる

実行します

$ <コマンド名>
1
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3