我正在为我的项目使用 Makefile。我需要我的 makefile 将日期和我的计算机名称回显到文件中:
files:
echo " * Author: $(whoami)" >> myFile
echo " * Created on: $(date +%D)" >> myFile
Run Code Online (Sandbox Code Playgroud)
我假设一个文件如下所示:
* Author: eDeviser
* Created on: 02.01.2017
Run Code Online (Sandbox Code Playgroud)
尽管如此,它看起来是这样的:
* Author:
* Created on:
Run Code Online (Sandbox Code Playgroud)
我尝试将这两行直接输入到我的终端中。这非常有效:
$echo " * Author: $(whoami)" >> myFile
$echo " * Created on: $(date +%D)" >> myFile
$cat myfile
* Created on: 01/02/17
* Author: lukas
Run Code Online (Sandbox Code Playgroud)
我的错误在哪里?
make也使用$( )它的变量和函数的语法。
用于$$将单个$命令放入您要运行的命令中:
files:
echo " * Author: $$(whoami)" >> myFile
echo " * Created on: $$(date +%D)" >> myFile
Run Code Online (Sandbox Code Playgroud)