shell的foreach 函数
来源:互联网 发布:栈的算法思想 编辑:程序博客网 时间:2024/06/04 18:03
foreach 函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell (/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构建的。它的语法是:
$(foreach <var>;,<list>;,<text>;)
这个函数的意思是,把参数<list>;中的单词逐一取出放到参数<var>;所指定的变量中,然后再执行< text>;所包含的表达式。每一次<text>;会返回一个字符串,循环过程中,<text>;的所返回的每个字符串会以空格分隔,最后当整个循环结束时,<text>;所返回的每个字符串所组成的整个字符串(以空格分隔)将会是foreach函数的返回值。
所以,<var>;最好是一个变量名,<list>;可以是一个表达式,而<text>;中一般会使用<var>;这个参数来依次枚举<list>;中的单词。举个例子:
names := a b c d
files := $(foreach n,$(names),$(n).o)
上面的例子中,$(name)中的单词会被挨个取出,并存到变量“n”中,“$(n).o”每次根据“$(n)”计算出一个值,这些值以空格分隔,最后作为foreach函数的返回,所以,$(files)的值是“a.o b.o c.o d.o”。
注意,foreach中的<var>;参数是一个临时的局部变量,foreach函数执行完后,参数<var>;的变量将不在作用,其作用域只在foreach函数当中。
0 0
- shell的foreach 函数
- shell的foreach 函数
- shell的foreach 函数
- php的foreach函数
- js 的 forEach()函数
- makefile详解 函数 foreach if call origin shell
- 跟我一起写Makefile(12)--- 函数(字符串函数+文件名操作函数+foreach+if+call+origin+shell+控制make的函数)
- foreach 函数
- foreach 函数
- foreach 遍历函数的返回值
- php中foreach()函数的用法
- php中foreach()函数的用法
- Java8 Stream forEach()函数的效率问题
- PHP中的函数-- foreach()的用法详解
- PHP中的函数-- foreach()的用法详解
- javascript中数组的foreach函数
- opencv3 Mat类的成员函数forEach
- js里forEach函数是同步的!!!
- 短信加密机制的设计模式
- hive编程指南--hive基础知识
- 成人高考专升本《生态学基础》章节复习题
- 机器视觉学习笔记(5)——基于OpenCV的单目摄像机标定
- POJ 3176 Cow Bowling(简单DP)
- shell的foreach 函数
- jdbc of sqlite getClob()-- java.sql.SQLException: not implemented by SQLite JDBC driver
- spring,IOC和AOP
- 关于mysql异常: Access denied for user 'root'@'localhost' (using password: YES)的解决方法
- useful kaldi posts
- Dynamics CRM2015 Update1 新功能之表单增强功能
- 渗透测试工具sqlmap基础教程
- Android IntentService
- 多重边框