1、变量类型
Bash变量有两种:局部变量和环境变量
局部变量:局部变量的范围仅在创建它的Shell中有效
环境变量:能为创建它的Shell及其派生子进程所用的变量,也经常被称为全局变量,一般约定环境变量为大些,它们是那些可以通过内置命令export导出的变量。
2、变量命名
变量名必须以字母或下划线开始,其余部分则可以由字符、数字或下划线构成。变量名中不能含有点字符.。
大小写敏感
给变量赋值时,不要在等号两边留下空格。格式为:
#variable=value
当变量值含有空格时,必须使用引号。
#variable='my value'
将变量设置为空,在等号后面跟一个换行符:
#variable=
3、创建变量
1)直接赋值,注意=两边不能有空格
#variable=value
2)declare内置命令
#declare variable=value
declare : 不带参数将列出所有变量的值
declare -f : 列出函数名及其定义
declare -r: 声明只读变量
declare -x: 将变量名导出到子Shell中
declare -i: 将变量置为整型
delare -F: 只列出函数名
3)创建只读变量
两种方式:readonly命令或declare -r
#name=Tom
#readonly name //不能unset, 不能重新赋值
或
#declare -r name=Tom //不能unset, 不可以重新赋值 (ubuntu 12.04, 经实验,不行)
#declare name=Perter //不行
值得注意的是,如果你不小心将变量设定为『只读』,通常得要注销再登入才能复原该变量的类型了!
4、清空变量
除了只读变量外,局部变量和环境变量都可以通过unset命令清空,set命令将不显示被unset的变量
#unset variable
5、打印变量值
echo $var
printf $var
如果是数组,则需要加上大括号
echo ${str[1]}
printf ${str[1]}
6、其它
export参数
-f : 导出函数,而不是变量
-n : 将已导出的全局变量转换为局部变量,该变量不会导出到子进程中
-p : 显示所有的全局变量
=-=-=-=-=
Powered by Blogilo