2

シェル スクリプトをリントするための 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)

PATHmake は通常の Bash シェルと同じものを受け取っていないと思います。どうすればこれを修正できますか?

4

1 に答える 1