makefile中

问题描述:

makefile中
1个回答 分类:综合 2014-09-29

问题解答:

我来补答
这应该是两个符号,要分开考虑.
>是重定向符号, 将前面的输入定向或输出到后面的文件或流中;
&后面应该有1或2之类的符号,1是stdout (标准输出), 2是stderr(标准错误管道), 一般都是指屏幕.
再问: 完整的语句是: $(shell if i386-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; 能给我详细讲讲这个语句吗?
再答: 你这句应该是没有写完整吧? 后面应该还有else 什么的, 而且第1个(还没有)来闭合。 这句的意思是执行shell脚本,脚本的内容是: if。。。。。。。; 而if的内容是i-386-elf-objdump 带参数-i运行, 如果有错误,把错误定向到标准输出设备即屏幕上,成功的话, 把仔细结果管道输出给grep作字符串过滤, 过滤或检索的方式是正则表达式,即查找是否纯正某行的内容是elf32-i386, 同样地, grep的执行结果被定向到dev/null里面, 是xNix里面的空设备文件,即一个空文件, 而如果执行有误, 错误也从屏幕输出。 因此总结就是: 执行i386-elf-objdump -i,输出一行带elf32-i386字样的字符串,如果成功,就执行。。。。。
 
 
展开全文阅读
剩余:2000
上一页:牛刀小试4
下一页:第二问不会作