命名规则
- 命名只能使用英文字符、数字、下划线,首个字符不能以数字开头。
- 中间不能有空格,可以使用下划线。
- 不能使用标点符号。
- 不能使用关键字。
变量使用
使用定义过的变量,只要在变量前加$符号即可,例如
var="test"
echo $var
echo ${var}
输出结果都为 test,那么大括号的作用是什么呢,我们通过下面的代码进行了解
name="Jack"
echo "Hello,My name is $nameChen!"
echo "Hello,My name is ${name}Chen!"
输出结果为
Hello,My name is
Hello,My name is JackChen
从输出结果可以明显看出大括号的作用就是为了定位变量的边界,没有大括号时nameChen被当作了一个变量,但这个变量没有值,所以显示空。
和其他语言一样,已经赋值的变量我们也可以重新赋值,就像这样
var="test"
echo $var
var="new test"
echo $var
输出结果为
test
new test
只读变量
顾名思义,只有读的权限,没有写的权限,所以只读后再赋值是没有作用的。
var="test"
readonly var
var="new test"
echo $var
输出为
test
删除变量
使用unset命令删除变量,删除后不能再次使用,不能删除只读变量。语法为
unset variable_name
变量类型
与其他编程语言一样,有局部变量、环境变量、shell变量:
- 局部变量:在脚本或命令中定义,仅在当前脚本中有效。
- 环境变量:所有的程序都能访问环境变量。
- shell变量:由shell程序设置的特殊变量,其中有一部分是局部变量,有一部分是环境变量。