シェルスクリプトのフォーマッタ
gofmtのshellscript版。
go get -u github.com/mvdan/sh/cmd/shfmt
でインストールするとshfmt
コマンドが利用可能になる。
例えば
#!/bin/bash function test { echo $1 } for i in 1 2 3 do test $i done
に対して適用すると
#!/bin/bash function test() { echo $1 } for i in 1 2 3; do test $i done
といった感じになる。
パット見わかりにくいかもしれないが、functionの引数部分に()
が付いたり、forで使うdoの位置がフォーマットされている。
細かい書き方を統一するためにとりあえずshfmtを通しておくというのは良いと思う。
golangに慣れるとフォーマッタがない言語は考えることが多くて面倒だと考えるようになってしまったので
こういうアプローチは助かる。