ShellCheckとは
シェルスクリプトの構文をチェックしてくれるソフトです。
「動くけどやめたほうがいい」というコードも教えてくれるので非常に便利です。
SC2145
以下のコードでエラーが出ました。(実際の関数じゃないけど同じようなやつ)
say () {
echo ${@}
}
どうやらこちらのサイトによると${@}
ではなく${*}
を使うべきらしいです。
正確には${@}
だとIFS
を考慮せずそのまま連結してしまうためだそうです。
自分も深くは理解してないので間違ってたらコメントでお願いします。