Makefile 和 Shell 脚本 (Bash)

J.J*_*Joe 0 linux bash shell makefile

Makefile 和 Bash 之间有什么关系?

Makefile 中的示例:

CC = gcc
Run Code Online (Sandbox Code Playgroud)

但是如果你在 shell 中输入这个,你会得到错误:

~# CC = gcc
-bash: CC: command not found
Run Code Online (Sandbox Code Playgroud)

可以理解,因为有空格。但它在 Makefile 中有效。

另外,在 Makefile 中使用命令替换$()

$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
Run Code Online (Sandbox Code Playgroud)

这应该是变量替换$CC${CC}在 bash 中。

所以 Makefile 语法和 bash 语法是不同的,但它们看起来确实相关,例如$@.

dim*_*414 5

没有关系 -make并且bash是两个解析不同语法的独立程序。它们具有相似或重叠的语法元素可能是因为它们是在同一时间开发的并且出于某些相似的目的,但它们不依赖于相同的解析器或语法。

许多不同的语言都有共同的语言特征,要么是为了易于采用,要么是为了模仿+例如,大多数语言都表示加法,但这并不意味着这些语言具有相关性