参考链接
最常见的应该是:echo $PATH了,表示打印该shell中存在的环境变量。 ${var_name} 跟 $var_name差不多,但是用 ${ }会比较精确的界定变量名称的范围。
在bash中,$( )与``(反引号)都是用来作命令替换的,执行括号或者反引号中的命令, 然后返回结果。比如:
echo "present dir is $(pwd)"
输出如下:
/> echo "present dir is $(pwd) ."
present dir is / .
@这个符串通常用在“规则”行中,表示不显示命令本身,而只显示它的结果。
参考链接
| 变量 | 含义 |
|---|---|
| $# | 传给脚本的参数个数 |
| $0 | 脚本本身的名字 |
| $1 | 传递给该shell脚本的第一个参数 |
| $2 | 传递给该shell脚本的第二个参数 |
| $@ | 传给脚本的所有参数的列表,代表目标文件(target) |
| $* | 以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过 9 个 |
| $$ | 脚本运行的当前进程ID号 |
| $? | 显示最后命令的退出状态, 0 表示没有错误,其他表示有错误 |
| $^ | 代表所有的依赖文件(components) |
| $< | 代表第一个依赖文件(components中最左边的那个) |
call函数是唯一一个可以用来创建新的参数化的函数。你可以写一个非常复杂的表达式,这个表达式中,你可以定义许多参数,然后你可以用call函数来向这个表达式传递参数。其语法是:
$(call ; , ; , ; , ; ...)
当 make 执行这个函数时,< expression > ;参数中的变量,如$ (1),$ (2),$ (3)等,会被参数< param1 >;, < param2 >;,< param3 >; 依次取代。而;的返回值就是 call函数的返回值。例如:
reverse = $(1) $(2)
foo = $(call reverse,a,b)
那么,foo的值就是“a b”。当然,参数的次序是可以自定义的,不一定是顺序的,如:
reverse = $(2) $(1)
foo = $(call reverse,a,b)
此时的foo的值就是“b a”。
上一篇:机器学习入门(六)神经网络初识
下一篇:数据结构初级<排序>