生成文件:
$(shell ./test.sh)
第一个实验:test.sh
echo "hi"
我得到错误:
Makefile:1: *** missing separator. Stop.
第二次实验: test.sh
echo("hi")
我得到的错误:
./test.sh: line 1: syntax error near unexpected token `"hi"'
./test.sh: line 1: `echo("hi")'
没有任何意义......看起来'Make'试图将其语法强加于shell脚本,但shell脚本也需要它自己。
答案 0 :(得分:6)
尝试./test.sh
。
在第一个实验中,结果是
hi
当您运行make
时,行$(shell ./test.sh)
评估为hi
,其中Make不知道如何解释。
在第二个实验中,
./test.sh: line 1: syntax error near unexpected token `"hi"'
./test.sh: line 1: `echo("hi")'
您编写的shell脚本没有正确的shell语法,因此失败了。无论你是运行它还是Make运行它都会失败。