シェルスクリプトのコードを整形してくれるツール `shfmt`
シェルスクリプトでコーディングする際に使っているツールを紹介。
( とりあえず殴り書きして、コードフォーマットツールに食わせて整形します。 )
GitHub - mvdan/sh: A shell parser, formatter, and interpreter (POSIX/Bash/mksh)
Contents
必要なもの
- Go
- Macなら
brew install golang
- CentOSなら
yum install golang
- Macなら
インストール方法
Gihtubのshfmtトップページ にインストール方法が書かれています。
2019-02-15現在、 go
コマンドが使えれば、以下のコマンドだけでインストールされます。
正常にインストールされていれば、以下のフォルダにコマンドがインストールされています。
※ちなみに、CentOS7系サーバでセットアップを行うと、 $HOME/.go
ではなく $HOME/go
ディレクトリにコマンドがインストールされます。なぜパスが違う??
実行方法
以下のようなコードを用意。
( test.sh
というファイル名で作成 )
フォーマッタを適用するには、コマンド引数にファイルを指定します。
- オプションを指定しないと使いにくい
- インデントはタブになっている
- switch-caseをインデントしない
&&
や|
を先頭に持ってきてくれない
なので、以下のような alias
を設定し使っています。(オプションの詳細は shfmt --help
を参照。)
設定後、再度実行。
ちなみに、デフォルト挙動ではフォーマット結果を標準出力に書き出すので、ファイルを上書きしたい場合は -w
オプションを付けましょう。
ディスカッション
コメント一覧
まだ、コメントがありません