系统变量
- 示例:查看所有的系统变量
- 示例:查看常用的系统变量
语法:
定义变量:变量=值 声明只读变量:readonly 变量=值 ,注意:只读变量不能unset 删除变量:unset 变量
注意:
- 变量名和等号以及值之间不能有空格
- 变量名首个字符必须为字母(a-z,A-Z)
- 变量名中间不能有空格,可以使用下划线(_)
- 变量名不能使用标点符号
- 变量名不能使用 bash 里的关键字(可用 help 命令查看保留关键字)
- 已定义的变量,可以被重新定义
- 只读变量也就静态变量,它的值不能被改变
bash中变量的默认类型都是字符串类型,无法直接进行数值运算。
示例: 使用一个定义过的变量时,变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。 示例:
$?:最后一次执行的命令的返回状态。0表示正确执行;非0表示执行不正确。
$n :n为数字,$0
代表该脚本文件的名称,$1-$9
代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}
示例:输出脚本文件名称、输入参数1和输入参数2 的值
$# :获取所有输入参数个数,常用于循环
示例:
$*
和$@
都表示传递给函数或脚本的所有参数,其中:$*
把所有的参数看成一个整体,$@
把每个参数区分对待。
$*
和$@
不被双引号""包含时,都以$1 $2 …$n
的形式输出所有参数。$*
和$@
被双引号""包含时,“$*”会将所有的参数作为一个整体,以$1 $2 …$n
的形式输出所有参数;“$@”会将各个参数分开,以“$1” “$2”…”$n”
的形式输出所有参数。
示例: