Makefiel和shell的区别

2025-05-20 12:27:12
推荐回答(1个)
回答(1):

一句2句说不清楚,他们是2样东西,语法有相似之处,各有各的语法。bash shell script是/bin/bash这个工具可以理解并执行的命令的集合。一个脚本包括一个或者多个命令(并非全是一行一行简单的命令,还有循环,分支,函数等等)
#!/bin/bash
date
cat a.txt
echo "hello world"

这是个简单的bash shell 脚本。

看看下面最简单的一个makefile文件sy1.mk,运行cat sy1.mk显示一下它,注意echo的左边必须是一个Tab键,不是8个空格:
$ cat sy1.mk
all:
echo "hello makefile"

运行命令make -f <文件名>:
$ make -f sy1.mk
echo "hello makefile"
hello makefile

makefile文件是被/usr/bin/make或者/bin/make (或者 /usr/bin/gmake)能理解并且运行(严格说,还不能完全说“运行”)的文本文件。
编译大型软件,例如Android (你可以下载andoid全套代码,网上可以查到步骤),一般离不开makefile,也离不开shell;在linux/unix下做软件开发(不管大型软件还是很小的软件),做linux系统维护,搭建linux使用和开发环境,一般离不开shell。

学会shell和makefile不是一天2天的事,网上免费的资料很多。
供参考,谢谢!