1 反引号和 $()
$() 仅在 Bash Shell 中有效,而反引号可在多种 Shell 中使用。所以这两种命令替换的方式各有特点,究竟选用哪种方式全看个人需求。
2 shell位置参数
变量的名字必须以字母或者下划线开头,不能以数字开头,但是位置参数必须是数字开头,这是和变量命名的区别。
定义了一个func.sh,文件,逻辑如下。
#!/bin/bash
#定义函数
function func(){
echo "语言:$1"
echo "url:$2"
}
func "c++" "http://baidu.com"
在调用函数后,输出为:
注意事项:
如果参数个数太多,达到或者超过了 10 个,那么就得用数的边界,这跟使用变量时加{}是一样的效果。
3 shell 特殊变量
$? 是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值。
严格来说,Shell 函数中的 return 关键字用来表示函数的退出状态,而不是函数的返回值;Shell 不像其它编程语言,没有专门处理返回值的关键字。