LoginSignup
4

More than 5 years have passed since last update.

AtomでShellCheckする

Last updated at Posted at 2016-06-26

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4