变量和export

我们可以用以下方式设置一下变量:

userdeMacBook-Pro:~ user$ testNum=123123
userdeMacBook-Pro:~ user$ echo $testNum
//得到123123

但是如果此时我们新开另一个子shell程序,却会发现testNum无值。

userdeMacBook-Pro:~ user$ bash
bash-3.2$ echo $testNum
// 无值

如果运用export 来使变量变成环境变量,就可以在子shell程序获得变量值了。

bash-3.2$ exit
userdeMacBook-Pro:~ user$ export testNum
userdeMacBook-Pro:~ user$ bash
bash-3.2$ echo $testNum
//得到123123

什么是『子程序』呢?就是说,在我目前这个 shell 的情况下,去启用另一个新的 shell ,新的那个 shell 就是子程序啦!在一般的状态下,父程序的自定义变量是无法在子程序内使用的。但是透过 export 将变量变成环境变量后,就能够在子程序底下应用了!

综上:

若该变量需要在其他子程序执行,则需要以 export 来使变量变成环境变量: 『export PATH』

补充

变量的使用
$ uname -r 
// 16.7.0
$ cd /lib/modules/$(uname -r)/kernel
//等于cd /lib/modules/16.7.0/kernel
单双引号的区别
[dmtsai@study ~]$ myname="$name its me" [dmtsai@study ~]$ echo $myname
VBird its me
[dmtsai@study ~]$ myname='$name its me' [dmtsai@study ~]$ echo $myname
$name its me

单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有 特殊符号。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容