Makefile里调用Shell注意点】的更多相关文章

http://www.linuxidc.com/Linux/2012-04/59093.htm 大家经常编写和使用Makefile, Makefile里面也经常用到shell, 但对其中一些需要注意的地方未必会去留意, 这里列出几个来, 不知是否对大家有用.1. 注意Makefile的变量和shell变量, 看如下示例:    DIRS = src bin lib   all:    @for i in $(DIRS); /     do /         echo " " $$i;…
1.在Makefile中只能在target中调用Shell脚本,其他地方是不能输出的.比如如下代码就是没有任何输出: VAR="Hello" echo "$(VAR)" all: ..... 以上代码任何时候都不会输出,没有在target内,如果上述代码改为如下: VAR="Hello" all: echo "$(VAR)" ..... 以上代码,在make all的时候将会执行echo命令. 最后打印结果是: echo &q…
转载:http://blog.csdn.net/ninlei0115/article/details/9732191 1.在Makefile中只能在target中调用Shell脚本,其他地方是不能输出的.比如如下代码就是没有任何输出: VAR="Hello" echo "$VAR" all: ..... 以上代码任何时候都不会输出,没有在target内,如果上述代码改为如下: VAR="Hello" all: echo "$VAR&qu…
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙.下面总结了一些. 1:尽在Makefile文件的目标项冒号后的另起一行的代码才是shell代码.eg:xx = xx1         // 这里时makefile代码yy:xx = xx2   // 这是是makefile代码,makefile允许变量赋值时,'='号两边留空格yy:    xx=xx3 // 只有这里是shell代码 ,shell不允许‘=’号两边有空格哦.…
#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里. python调用shell命令的方法有许多 1.1   os.system(command)        在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态.这实际上是使用C标准库函数system()实现的.这个函数在执…
ant中调用Makefile,使用shell中的make命令 <?xml version="1.0" encoding="utf-8" ?> <project name="dy_cike_init" basedir="."> <target name="hait_cpr" description=""> <exec executable=&quo…
这一年的项目中,有大量的场景需要Java 进程调用 Linux的bash shell 脚本实现相关功能. 从之前的项目中拷贝的相关模块和网上的例子来看,有个别的“陷阱”造成调用shell 脚本在某些特殊的场景下,有一些奇奇怪怪的bug. 大家且听我一一道来. 先看看网上搜索到的例子: package someTest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRead…
参考:http://blog.csdn.net/wanglang3081/article/details/49423105 (1)Makefile本质上来讲也是shell脚本,即每条command都是shell进程,运行完shell进程都会退出.   (2)shell代码行,如果有=的话,=两边不能有空格   (3)Makefile中的shell,每一行是一个进程,不同行之间变量值不能传递.所以,Makefile中的shell不管多长也要写在一行.可以用\来分行写,格式更清晰一点. SUBDIR…
C程序调用shell脚本共同拥有三种法子 :system().popen().exec系列数call_exec1.c , system() 不用你自己去产生进程.它已经封装了,直接增加自己的命令 exec 须要你自己 fork 进程,然后exec 自己的命令 popen() 也能够实现运行你的命令,比system 开销小 方法一.system()的使用.我直接上代码吧 int system(const char *command); 我在/home/book/shell新建一个test.sh文件…
Ant中调用Makefile,使用shell中的make命令 <?xml version="1.0" encoding="utf-8" ?> <project name="my_project" basedir="."> <target name="my_make" description=""> <exec executable="/…