Edited at

AtomでShellCheckする

More than 3 years have passed since last update.

先日、「Shellcheckを使おう」という以下のLTをしてきました。

http://www.slideshare.net/cottondesu/shell-01-shellcheck

その後に、とある人から毎回毎回コマンドを実行するのは辛いから

使っているエディタでリアルタイムか保存時にcheckして欲しいよねと

言われて・・・・・・・・・・・・。

今に至ります。さて、私はAtomを使っているので、AtomでShellcheckが

動作するようにします。


目的

AtomでshellをリアルタイムでShellcheckされるようにします


環境


  • Mac

  • Shellcheck

  • Atom


    • linter

    • linter-shellcheck




Shellcheckのインストール

まずはShellcheckをインストールしないと始まりません。

公式サイト:Shellcheck

今回はMacですのでターミナルから以下のHomebrewコマンドを実行します。

brew install shellcheck

Homebrewがインストールされていない場合はPortからでもインストールできます。

port install shellcheck


linterのインストール

Atomでlinter-shellcheckを動作させるために、母体となるlinterを

Atomにインストールします。

同様のパッケージにatom-lintがあるみたいですが、今回はlinterにします。


  1. メニューバーのAtom -> Preferences.. でSettingsを開く

  2. SettingのInstallを開く

  3. Search packagesに linter を入力し Packagesボタンを押下する

  4. 検索結果から linter を見つけてInstallボタンを押下する


linter-shellcheckのインストール


  1. メニューバーのAtom -> Preferences.. でSettingsを開く

  2. SettingのInstallを開く

  3. Search packagesに linter-shellcheck を入力し Packagesボタンを押下する

  4. 検索結果から linter-shellcheck を見つけてInstallボタンを押下する

以上、導入が完了しました。後はAtomでshellファイルを開くだけです。

1点解せぬ点があります。

Shellcheckコマンド使った場合、noteも表示されます。

shellcheck -f gcc .bashrc

.bashrc:1:1: error: Tips depend on target shell and yours is unknown. Add a shebang. [SC2148]
.bashrc:3:9: note: Double quote to prevent globbing and word splitting. [SC2086]

私が設定方法を知らないのかAtomのlinter-shellcheckではnoteが

表示されない。なんとかして表示させて指摘内容を全て直したい。

もしnoteの表示方法を知っている方がいましたら教えて下さい。


6/27 追記

noteも表示する方法がわかりました。

Defaultの設定だとwarning、errorのみがcheck対象となります。

noteもcheck対象にするには以下の設定を変更します。


  1. メニューバーのAtom -> Preferences.. でSettingsを開く

  2. SettingのInstallを開く

  3. Search packagesに linter-shellcheck を入力し Packagesボタンを押下する

  4. 検索結果から linter-shellcheck を見つけてSettingsボタンを押下する

  5. Settingsの Enable Notice Messages チェックボックスにチェックを入れる

上記を行うことによってnoteもチェックされるようになります。


参考にした記事

Atom でインストールしている package 一覧

ShellCheckをMacに導入してシェルスクリプトの文法チェックをしてみた