#Bash 的变量
Bash 中的变量定义语法如下:
1 | 变量名=值 |
注意,等号(=)两边不能有空格。
变量名的命名应当遵循如下规则:
- 只能包含字母,数字和下划线(
_),并且不能以数字开头。 - 不能使用 Bash 保留的关键字,如:
ifthenelsefiforwhiledodone等 - 环境变量和常量使用全大写字母,单词间使用下划线分隔
- 普通变量使用全小写字母,单词间使用下划线分隔
- 函数内的局部变量使用
local关键字声明
例如:
1 | PI=3.1415925 |
#读取变量
在 Bash 中通过美元符号($)将变量名解析为值。格式为:
1 | $变量名 |
例如:
1 | >>> PI=3.1415925 |
#删除变量
使用 unset 命令可以删除变量。格式为为:
1 | unset 变量名 |
#运算
在 Bash 中进行运算需要使用 $(( 表达式 ))。例如:
1 | >>> echo $(( 1 + 1 )) |
- 注意,仅支持整数运算
#环境变量
Bash 在运行可执行文件时,会创建一个新的进程并重置全部的环境。因此该程序无法读取到之前 Bash 上创建的变量。
如果需要一个变量可以被可执行文件读取,则需要使用 export 命令创建环境变量。格式为:
1 | export 变量名=值 |
可以通过 env 命令查看当前存在的全部环境变量:
1 | $ env |
#特殊变量
Bash 中预设了一批特殊变量,这些变量只能读取,不能被赋值。
$?- 一个命令的退出码,通常使用0表示成功,非0表示失败$$- 当前 Shell 的 ID$0- 当前命令,直接读取时是 Bash 自身,在脚本中读取时是脚本文件$1- 当前命令的第一个参数,$2,$3以此类推$#- 当前命令的参数数量$@- 当前命令的全部参数