1 反引号和 $()

$() 仅在 Bash Shell 中有效,而反引号可在多种 Shell 中使用。所以这两种命令替换的方式各有特点,究竟选用哪种方式全看个人需求。

2 shell位置参数

变量的名字必须以字母或者下划线开头,不能以数字开头,但是位置参数必须是数字开头,这是和变量命名的区别。
定义了一个func.sh,文件,逻辑如下。

  1. #!/bin/bash
  2. #定义函数
  3. function func(){
  4. echo "语言:$1"
  5. echo "url:$2"
  6. }
  7. func "c++" "http://baidu.com"

在调用函数后,输出为:
image.png
注意事项:
如果参数个数太多,达到或者超过了 10 个,那么就得用数的边界,这跟使用变量时加{}是一样的效果。

3 shell 特殊变量

$? 是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值。
严格来说,Shell 函数中的 return 关键字用来表示函数的退出状态,而不是函数的返回值;Shell 不像其它编程语言,没有专门处理返回值的关键字。