今天要聊的主题就是变数部分剩下的内容,因为前几天介绍的部分的确是介绍的七七八八的了,但是还是有一小部分是没有介绍到的。像是等等的变数的有效范围,变数的键盘读取、阵列与宣告这几个部分。
那我们先从变数的有效范围先开始好了,变数在使用上是有有效范围的,还记得前几天提及的副程序跟子程序的观念吗?再不同的程序关系中,变数能不能被引用是跟export这只指令有关,被export之後的变数就被视为环境变数,环境变数可以被子程序引用,但是自订变数则不行。那为什麽环境变数可以被子程序所引用呢?这就跟记忆体配置有关,理论上是这样解释的。
(1)当启动一个shell,作业系统会分配一个记忆区块给shell使用,这个记忆体内部的变数可以让子程序使用
(2)父程序利用export功能,可以让自订变数的内容写到上述的记忆区块之中
(3)载入另外一个shell的时候(就是离开父程序进入子程序的时候),子shell可以将父shell的环境变数所在的记忆区块导入自己的环境变数区块当中
因为上述关联,可以让某些变数在相关的程序之间存在,可以帮助使用者更方便的操作环境。
有个地方要稍微注意一下,这个环境变数跟bash的操作环境意思不太一样
那接下来要来介绍变数的键盘读取、阵列与宣告,在使用部分程序的时候,会出现一个对话提示的互动式介面,等待使用者输入资讯,这个部分在bash中也有相关的功能,那跟这个功能相关的指令就是read这只指令
read
(1)读取来自键盘中的变数
(2)常用於shell script的撰写当中
指令格式
read (-pt) 变数名称
相关参数以及选项
-p:後面可以接提示字元
-t:後面可以接等待秒数
declare/typeset(主要介绍declare,typeset本人其实不太会用)
(1)两只指令其实是一样的功能
(2)用在宣告变数的类型
(3)在预设的情况下,bash对於变数有几个基本定义
-变数类型预设为字串,在不只定变数类型的情况下,会将数学的计算式视为字串
-bash环境中的数值运算,预设最多只能到达整数形式
(4)如果不小心将变数设定为唯读,通常要登出再登入才能复原该变数类型
指令格式
declare (-aixr) 变数名称
相关参数以及选项
-a:将变数定义为阵列
-i:将变数定义为整数
-x:用法跟export相同,是将後面接上的变数更改为环境变数
-r:将变数设定为randonly类型,该变数不可被更改内容,也不能unset
以上就是本人介绍变数的部分,如果有缺漏的部分,也麻烦大家多指教
>>: 【Day.26】React进阶 - useEffect v.s useLayoutEffect
目前已经熟悉了在客体虚拟机内安装作业系统并使用的操作,接着我们开始掌握不同的开关机模式。另外,如何...
介绍 Docs 转 Api Blueprint 的整体流程架构与相关服务。 今日要点: 》API篇...
加密前的资料在前几天我们都有拿到了!接着就是实作 AES-CBC 罗~ 流程如下图 关於 AES-C...
在这篇文章中,会说明分支(branch)在SourceTree内的用法,分支是在版本控制中很重要的一...
今天我们来把登入的功能完成. 会员登入 当验证通过之後, 就可以正常登入, 在登入的时候, 我们会透...