シェル スクリプトをリントするための Haskell プログラムであるShellCheckを から呼び出したいと思いMakefile
ます。
経由で ShellCheck をインストールするとcabal install
、 としてインストールされ~/.cabal/bin/shellcheck
ます。したがって、それに応じて Bash を構成しました。
$ cat ~/.bashrc
export PATH="$PATH:~/.cabal/bin"
$ source ~/.bashrc
$ shellcheck -V
ShellCheck - shell script analysis tool
version: 0.3.4
license: GNU Affero General Public License, version 3
website: http://www.shellcheck.net
これによりshellcheck
、Bash の任意のディレクトリから実行できます。ただし、Makefileから呼び出そうとすると、make
見つかりませんshellcheck
。
$ cat Makefile
shlint:
-shlint lib/
shellcheck:
-shellcheck lib/**
lint: shlint shellcheck
$ make shellcheck
shellcheck lib/**
/bin/sh: 1: shellcheck: not found
make: [shellcheck] Error 127 (ignored)
PATH
make は通常の Bash シェルと同じものを受け取っていないと思います。どうすればこれを修正できますか?