我正在尝试在makefile中执行此操作,但它失败的可能性非常大:
M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}')
Run Code Online (Sandbox Code Playgroud)
你知道为什么吗?我想它与逃避有关,但是在哪里和哪里?
这是一个在我的 bash shell 中运行良好的简单命令:
echo "Created at: $(date)" >> README.md
Run Code Online (Sandbox Code Playgroud)
它附加Created at: Wed Jan 24 10:04:48 STD 2018到 README.md。
但是,当我在 makefile 中包含相同的命令时,行为有所不同。
生成文件:
README.md:
echo "Created at: $(date)" >> README.md
Run Code Online (Sandbox Code Playgroud)
运行时make README.md会将命令替换视为空字符串,如下所示:
echo "Created at: " >> README.md
Run Code Online (Sandbox Code Playgroud)
README.md 中附加的内容是Created at:.
如何在 makefile 中使用 echo 正确地进行命令替换输出?