一 定义变量
定义变量时,不能有$符号,变量名和等号之间不能有空格符号,与其他语言不同,同时变量定义规则遵循以下几条:
1)命名只能使用英文字母,数字和下划线,数字不能开头。
2)中间不能有空格,可以使用_代替。
3)不能使用标点符号。
4)不能使用bash里的关键字。
eg:
#有效的变量命名 var var_1 var3
二 使用变量
只需要在变量名前加个$符号即可,也可以将变量名用{}括起来在加个$符号,加括号是为了帮助解释器识别变量的边界。
eg:
#!/bin/sh my_name="Alex_Lei" echo $my_name echo ${my_name}
三 只读变量
只要在变量名前加个readonly关键字,即为只读变量,只读变量不可更改,如若更改会报错./test.sh: line 5: my_name: readonly variable。就是在哪个脚本文件第几行说明是只读变量。
eg:
#!/bin/sh my_name="Alex_lei" readonly my_name. #my_name 为只读变量不可更改 echo ${my_name}
四 删除变量
使用关键字unset删除变量,删除后变量不能在使用,unset不能删除只读变量。
eg:
#!/bin/sh my_name="Alex_lei" q_account="1150693181" unset q_account echo ${my_name} #echo ${q_account} 不能在使用
五 变量类型
运行shell脚本时会同时出现三种变量:
1)局部变量:只有在当前脚本下有效。
2)环境变量:所有的程序都有效。
3)shell变量:由shell程序设置的特殊的变量。