Linux之变量的零散知识点

各位客官,今日小店客满,招待不周之处还请多多担待
前面已经将变量的大部分知识都已经讲完了,接下来讲一讲碎片知识,之所以叫碎片知识不是不重要,只是说我没有办法系统地它们放到一起去讲,所以单独拿出来讲。
一、变量的有效范围
变量竟然会有范围?是不是很惊喜很意外?说实在的在我第一次接触的时候我也是很懵的,这个玩意竟然还有范围。实在是不可思议。在这里要首先说明一个问题,免得给大家造成学习的障碍,某些书里可能提到过全局变量和局部变量,不要去纠结这个,在我这里你就简单的理解为全局变量=环境变量,局部变量=自定义变量。那么为什莫环境变量的数据可以被子进程使用?你想过吗?开始的时候我还真没想过,现在可以告诉你答案:这是因为内存配置的关系。关于这个所谓的内存配置的关系是这样的:
1)当启动一个shell,操作系统会分配一个内存区域给shell使用,此内存中变量可让子进程使用。
2)export的作用就是让自定义变量的内容写到上述的内存区域中(环境变量)
3)当加载另一个shell时(即启动一个子进程),子shell可以将父shell的环境变量所在的内存区域导入到自己的环境变量区块之中。
二、变量的键盘读取、数组与声明
1)read :要读取来自键盘的输入变量,就要用read这个命令
在这里插入图片描述
对于上图的解释是:首先输入 read bbb,然后下一行会出现光标等待输入,接着输入hehoehoa这个变量内容,最后可以查看到该变量内容。
2)declare(声明):用于声明变量的类型,可以将变量的类型进行更改,举例如下 在这里插入图片描述
上图可以看出,第一次没有计算结果,而第二次有了计算结果,因为sum=133+900是文字类型,而第二次的declare -i sum=133+900是将其变成了数字类型。declare 【-i】:将变量定义为整数型,declare 【-a】 :将变量定义为数组型。
小二,打烊了

发布了43 篇原创文章 · 获赞 30 · 访问量 7139

猜你喜欢

转载自blog.csdn.net/Gao068465/article/details/104381893