1.变量:name=value
变量组成:变量名、指向的内存空间的某段空间的启始地址
变量替换:把变量名出现的位置替换为其所指向的内存空间中数据;
变量引用:${var_name},
$var_name
2.变量类型
变量类型--->变量内数值存储类型--->数据存储格式、表示数据范围、参与的运算
bash shell 弱类型语言
bash把所有变量统统视作字符型;
bash不支持浮点类型
bash中的变量无需事先声明;相当于,把声明和赋值过程同时实现;
3.变量名命名
(1)变量名只能包含数字、字母和下划线,而且不能以数字开头;
(2)变量名:见名知义,命名机制遵循某种法则;
(3)不能够使用程序的保留字,例如if,
else, then, while等等;
4.bash变量类型:
(1)本地变量:作用域仅为当前shell进程;
变量赋值:name=value
变量引用:${name},
$name
"":变量名会替换为其值;
‘‘:变量名不会替换为其值;
查看变量:set
撤销变量:unset
name
(2)环境变量:作用域为当前shell进程及其子进程;
变量赋值:
1)
export name=value
2)
name=value
export name
3)
declare -x name=value
4)
name=value
declare
-x name
变量引用:${name},
$name
注意:bash内嵌了许多环境变量(通常为全大写字符),用于定义bash的工作环境
PATH,
HISTFILE, HISTSIZE, HISTFILESIZE, HISTCONTROL, SHELL, HOME, UID, PWD, OLDPWD
查看环境变量:export,
declare -x, printenv, env
撤销环境变量:unset
name
(3)局部变量:作用域仅为某代码片断(函数上下文);
(4)位置参数变量:当执行脚本的shell进程传递的参数;
(5)特殊变量:shell内置的有特殊功用的变量;
$?:0:成功 1-255:失败
只读变量:
(1)
declare -r name
(2)
readonly name
无法重新赋值,不支持撤销;存活时间为当前shell进程的生命周期,随shell进程终止而终止;