Bash变量

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

posted on 2015-01-31 21:32  chenxiaopang  阅读(877)  评论(0编辑  收藏  举报

导航