shell 变量
一、变量介绍
在编程中,我们总有一些数据需要临时存放在内存,以待后续使用时快速读出。
内存在系统启动的时候被按照1B一个单位划分为若干个块,然后统一
编号(16进制编号),并对内存的使用情况做记录,保存在内存跟踪表中。那么问题来了,1G内存有多少个1B的单位呢?
计算机的单位:
1B=8bit
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
1EB=1024PB
1ZB=1024EB
...
好了,已经够大了!当然还有YB、BB更大的单位,同样进制也是1024.
1G=1024*1024*1024=1073741824B假如你将一个1B的字符存入内存,如何读出呢?有没有一种大海捞针的感觉啊!我们讨论一下计算机是如何通过让我们人类快速将数据存在内存,如何从内存中读出数据的。我们研究过变量后就明白了。
变量:变量是编程中最常用的一种临时在内存中存取数据的一种方式。
变量存取原理

从图片可以看出,当我们在脚本中定义变量存值的时候,可以从以下方面看到变化:
1)内存占用:如果存的是一个字符则占用1个字节,如果存的是字符串则是字符串的长度加1个字节长度(\0是一个特殊字符,代表字符串结束)。
2)变量名与内存空间关系:计算机中会将对应的内存空间和变量名称绑定在一起,此时代表这段内存空间已经被程序占用,其他程序不可复用;然后将变量名对应的值存在对应内存地址的空间里。
二、变量分类
本地变量:用户私有变量,只有本用户可以使用,保存在家目录下的.bash_profile、.bashrc文件中
全局变量:所有用户都可以使用,保存在/etc/profile、/etc/bashrc文件中
用户自定义变量:用户自定义,比如脚本中的变量
三、定义变量
2.1)定义变量
变量格式: 变量名=值
在shell编程中的变量名和等号之间不能有空格。
VAR1=1
age=18
name=’baism’
score=88.8
定义变量演示:
2.2)读取变量内容
读取变量内容符:$
读取方法:$变量名
2.3)取消变量 unset
2.4)定义全局变量 export
2.5)定义永久变量
本地变量:用户私有变量,只有本用户可以使用,保存在家目录下的.bash_profile、.bashrc文件中
全局变量:所有用户都可以使用,保存在/etc/profile、/etc/bashrc文件中
最后更新于
这有帮助吗?