makefile里面的命令是顺序执行的吗?

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
shuizhongyu
帖子: 287
注册时间: 2012-11-06 12:43
系统: arch,ubuntu
来自: 安徽合肥
联系:

makefile里面的命令是顺序执行的吗?

#1

帖子 shuizhongyu » 2013-04-17 16:34

写了个备份系统的脚本
由于和写这个帖子的电脑不是一个
不能完整的贴上来
大概是像下面这样

代码: 全选

tar cvpjf /backup.tar.bz2 / --exclude=/....    ;
mv a b;
touch a;
然后我就make
突然想到件事我就Ctrl-c了
然后一看
a已经被重命名为b,而且新的a已经创建。
这是为什么,第一条tar肯定还没执行完啊?

先开始怀疑是Ctrl-c只停止一条命令,后面的照做
于是写了这样的Makefile

代码: 全选

sleep 3;
mv a b;
touch a;
然后在中间Ctrl-c,没有出现刚才那种情况。。。
这我就不懂了,求指教
Luckily,I have google.

新手,请大家不吝赐教,十分感谢
头像
lyqf365
帖子: 32
注册时间: 2009-09-20 2:45

Re: makefile里面的命令是顺序执行的吗?

#2

帖子 lyqf365 » 2013-04-22 10:12

从入口标签开始顺序执行,中间不出错就继续执行。
如果有依赖,先解决依赖
出错或者代码中指明结束退出
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: makefile里面的命令是顺序执行的吗?

#3

帖子 eexpress » 2013-04-22 10:32

分段的。带依赖的。
● 鸣学
头像
shuizhongyu
帖子: 287
注册时间: 2012-11-06 12:43
系统: arch,ubuntu
来自: 安徽合肥
联系:

Re: makefile里面的命令是顺序执行的吗?

#4

帖子 shuizhongyu » 2013-04-22 23:56

lyqf365 写了:从入口标签开始顺序执行,中间不出错就继续执行。
如果有依赖,先解决依赖
出错或者代码中指明结束退出
不好意思
我愚蠢了
没写完整
应该是像下面这样,是有入口标签的

代码: 全选

backup.tar.bz2:
          tar cvpjf.....
          mv a b
          touch a
这样的话我的问题怎么解释?
我在tar的是后Ctrl-C了啊
Luckily,I have google.

新手,请大家不吝赐教,十分感谢
头像
shuizhongyu
帖子: 287
注册时间: 2012-11-06 12:43
系统: arch,ubuntu
来自: 安徽合肥
联系:

Re: makefile里面的命令是顺序执行的吗?

#5

帖子 shuizhongyu » 2013-04-22 23:57

eexpress 写了:分段的。带依赖的。
开始愚蠢了
没写完整
再求教
Luckily,I have google.

新手,请大家不吝赐教,十分感谢
回复