先日、「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にします。
- メニューバーのAtom -> Preferences.. でSettingsを開く
- SettingのInstallを開く
- Search packagesに linter を入力し Packagesボタンを押下する
- 検索結果から linter を見つけてInstallボタンを押下する
#linter-shellcheckのインストール
- メニューバーのAtom -> Preferences.. でSettingsを開く
- SettingのInstallを開く
- Search packagesに linter-shellcheck を入力し Packagesボタンを押下する
- 検索結果から 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対象にするには以下の設定を変更します。
- メニューバーのAtom -> Preferences.. でSettingsを開く
- SettingのInstallを開く
- Search packagesに linter-shellcheck を入力し Packagesボタンを押下する
- 検索結果から linter-shellcheck を見つけてSettingsボタンを押下する
- Settingsの Enable Notice Messages チェックボックスにチェックを入れる
上記を行うことによってnoteもチェックされるようになります。
#参考にした記事
Atom でインストールしている package 一覧
ShellCheckをMacに導入してシェルスクリプトの文法チェックをしてみた