变量:一段连续的内存空间,为这一段内存空间取名称为变量名,在这段内存空间中存储的数据称为变量值
程序=指令+数据
数据:文件,变量
赋值操作:
=:赋值操作符
赋值的方法:变量名(varname)=变量值(value)
varname命名规范:
1.只能以字母或者“_”为首的字符,不能使用数字,后面可以是任意字符数字和下划线
2.大小写严格区分
3.见名知意
4.书写规范(全大写FILES 驼峰式MyFiles)
5.不能与已知变量名相同
根据不同的编程语言 变量可以分为两类
强变量:必须在使用前先声明,而且要声明其类型,严格区分变量类型
弱变量:可以随时使用随时声明,甚至可以不声明就使用,不对变量类型做硬性要求,如果没有指定变量类型,统一按照字符型对峙(bash的变量就是弱变量)
引用变量的值${varname}-->$varname,也称为变量替换
bash的变量种类:
全局变量(环境变量):作用范围是整个shell进程,包括其子shell
本地变量:作用范围仅仅是当前登录的shell,不包含其子shell
局部变量:作用范围仅仅是当前的程序段,一般用于函数
默认全局变量:
位置参数变量:$1 $2 $3...$n
特殊变量:$? $# $!...
$?: 展开为最近一次所执行命令的状态返回值(退出状态)
$#:位置参数的个数 以十进制表示
$*:从1开始展开为位置参数,当使用双引号应用展开的时候它展开以特殊变量“IFS”的第一个字符分隔的值
[email protected]: 从1开始为位置参数,当使用双引号引用展开的时候,它展开为一个单独的字符串
$$:展开为当前shell的进程标识符
$0:展开shell或者shell脚本的文件名变量的使用
变量的使用:
变量的赋值:varname=value 声明本地变量
撤销变量: unset varname
声明变量环境:export varname
export varname=value
declare
-a:声明索引数组
-A:声明关联数组
-i:声明整型变量
-l:声明变量并将变量值中的字符转换为小写字母
-u:声明变量并将变量值中的字符转换为大写字母
-x:声明变量并将其导出为环境变量
-r:声明变量为只读变量
查看变量环境:set export env
声明局部变量:local varname=value
配置文件:
通用配置文件:/etc/bashrc /etc/profile
一般情况下,声明变量都是现做现用,因此并不需要该配置文件