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进程终止而终止;
本文出自 “许鼎的博客” 博客,请务必保留此出处http://xuding.blog.51cto.com/4890434/1723423
原文地址:http://xuding.blog.51cto.com/4890434/1723423