标签:bash变量 linux
一、变量:一段连续的内存存在值所占据的空间:这段内存空间的名称,称为变量名,在这段内存空间中储存的数据,则称为变量值
程序=指令+数据
数据:文件,存在值(在内存时)
向内存空间(变量)中储存数据的过程,称为赋值操作;赋值符号通常为"="
二、变量的类型:不同类型的变量所占内存空间不同,其能进行的操作也不同
三、变量:
强变量:使用之前必须实现予以声明;必须声明变量类型
弱变量:使用之前无需声明;也无需指明变量类型
四、变量的赋值方法:
VARNAME=VALUE
含义:将某数值(VALUE)通过赋值操作(=)存储于特定的内存空间中
五、bash中变量名称的命名规范:
1.变量名只能以下划线或字母为起始字符,后面的其他字符可以是任意字母数字或下划线
2.变量名中的字母是大小写敏感的
3.命名的书写格式
全大写
全小写
驼峰式
下划线连接单词
4.变量名尽量见名知意
5.变量名不能与已知变量或bash内置变量重复
六、bash中的变量分类:
根据作用范围:
全局变量(环境变量):作用范围为整个shell进程,包括其子shell
本地变量:作用范围为当前登录时所打开的shell进程,不包括其子shell
局部变量:作用范围仅仅是当前程序段,一般用于函数
根据变量声明方式:
bash内置变量
普通内置变量:HISTSIZE
位置参数变量:$0 $1
特殊变量:&? $# $* $@ $$
$? 最近一次执行的命令的状态返回值,命令的退出状态码,用于表示命令是否成功执行
$# 表示位置参数的个数,不包括$0的其余的位置参数的个数,通常以十进制表示
$* 从$1开始展开为位置参数,当使用双引号来引用展开的结果时,展开为特殊变量IFS的第一个字符分隔符的值
$@ 从$1开始展开为位置参数,当使用双引号来引用展开的结果时,展开为一个单独的字符串
$$ 展开为当前shell的进程标识符
七、自定义变量:
1.变量的声明和赋值
1)声明全局(环境)变量
export VARNAME
export VARNAME=VALUE
declare [-aAfFgilrtux] [-p] [name[=value] ...]
-a 声明索引数组(如果支持)
-A 声明关联数组(如果支持)
-i 声明整形变量
-l 声明变量并将变量中的字母转化为小写字母
-u 声明变量并将变量中的字母转化为大写字母
-r 声明只读变量
-x 声明变量并将其导出为全局变量declare -x VARNAME
2)声明本地变量
VARNAME=VALUE
3)声明局部变量
local VARNAME[=VALUE]
2.查看环境变量
set命令:查看和改变shell属性的值和查看shell变量的变量名和变量值
export命令:查看变量名称,也可以为变量赋值
env命令:
3.查看变量的值
echo ${VARNAME}
4.撤销变量的复制以及变量声明
unset VARNAME
八、有关于保存变量的shell配置文件:
通用配置文件:
/etc/bashrc
/etc/profile
/etc/profile.d/*
私人配置文件:
~/.bashrc
~/.bash_profile
注意:一般情况下,变量都是使用时声明,不建议修改配置文件的内容;
声明的变量最好在使用完后使用unset命令予以撤销
标签:bash变量 linux
原文地址:http://papapa213.blog.51cto.com/13390432/1978689