shell变量:
用户变量:就是用户可手工设置和重设的变量。
环境变量:记录系统的特定信息。
变量名:
变量名只能包含字母、数字、和下划线。变量名只能以字母和下划线开头,这和C语言中变量名的定义是一样的。
另外,在使用带空格的值时需要使用引用符,即单引号或双引号。
定义变量:
name=value
**等号两边没有空格**
访问值:
为访问存储在变量中的值,只要在其变量名之前加上美元符$即可:
echo $name
若没有加"$"访问变量时,则打印出变量的名字而不是它的值。
变量数组:
name [index]=value
数组初始化方法:1)在Ksh中 set -A name value1 value2......valueN
2) 在bash中 name=(value1......valueN)
同时:name[0]=value1
name[1]=value2
name[3]=nalue3 ......和上面是等价的。
只读变量:
通过readonly命令,shell提供了一种将变量标记为只读的方式,当变量标记为只读时,它的值不可改变。
环境变量:
当shell在运行时,存在三种主要变量:
局部变量:只在当前shell实例中存在的变量,而由其它shell启动的程序不能使用的变量。
环境变量:是shell的任何子进程都能使用的变量,程序正确运行都需要使用环境变量。通常shell脚本只定义程序运行时所需的环境变量。
shell变量:是shell设置的特殊变量也是shell正确运行所必需的,这些变量有些是环境变量而有些是局部变量.
删除变量:
unset name
**unset命令不能删除被标识为只读的变量。**
导出环境变量:
name=alue; export name
**通常为清楚的表示该变量为环境变量,环境变量的赋值语句和导出语句写在同一行。**
export name1 name2 ... ...
**也可以使用export命令向环境导出多个变量。**
显示消息:
一般用echo或print命令。
当使用echo命令时,用单引号或双引号将字符串圈起来,但是当字符串中存在单引号或双引号时就要利用另一种引号将字符串圈起来。
例如:
echo hello's word
$ hellos word
而这才是想要的结果
echo "hello's word"
$ hellos word