6. 命令的执行
在 Makefile 的规则中,每一行命令会在一个新的 Shell 中单独执行,这样不会相互影响。
如果你需要在一个 Shell 中执行多个命令。你需要将这些命名以分号或 && 或 || 链接在一个命令行内。
示例:
all:
cd ..
# 上面的 cd .. 不会影响到下面 echo 命令的执行。
# 因为 echo 在一个新的 Shell 内执行.
echo `pwd`
# 如下的 cd .. 命令会改变 echo 的运行路径,因为他们在一行内。
cd ..;echo `pwd`
# cd .. 会影响 `echo` 命令的运行路径。
cd .. && echo `pwd`
make 执行的结果为
weimingze@mzstudio:~$ make
cd ..
# 上面的 cd .. 不会影响到下面 echo 命令的执行。
# 因为 echo 在一个新的 Shell 内执行.
echo `pwd`
/home/weimingze
# 如下的 cd .. 命令会改变 echo 的运行路径,因为他们在一行内。
cd ..;echo `pwd`
/home
# Same as above
cd .. && echo `pwd`
/home