AtomでShellCheckする

  • 2
    いいね
  • 0
    コメント

先日、「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に導入してシェルスクリプトの文法チェックをしてみた