变量和export

2018-08-21  本文已影响26人  一个废人

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

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

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

上一篇下一篇

猜你喜欢

热点阅读