bash ファイルs.sh
には、実行するコマンドを渡す Executor 関数があります。コマンドが期待どおりに機能しない場合、この関数はそのコマンドを出力します。
Executor()
{
if ! $*
then
echo "$*"
exit 2
fi
}
今、私はこの関数を呼び出しています -
Executor clangPath="Hello" make
(これは、makefile で clangPath 変数の値を「Hello」として設定するために使用されます)
これによりエラーが発生しました -
./s.sh: line 5: clangPath=Hello: command not found
[./s.sh] Error: clangPath=Hello make
ただし、このように同じコマンドを実行すると正常に動作します
if ! clangPath="Hello" make
then
echo "HelloWorld!"
fi
エラーを見て、文字列の引用符に間違いがあるのではないかと思ったので、試してみました
exitIfFail clangPath='"Hello"' make
これでもエラーになりました-
./s.sh: line 5: clangPath="Hello": command not found
[./s.sh] Error: clangPath="Hello" make
エラーの原因は何ですか?