美文网首页
变量和export

变量和export

作者: 一个废人 | 来源:发表于2018-08-21 15:13 被阅读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
    

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

    相关文章

      网友评论

          本文标题:变量和export

          本文链接:https://www.haomeiwen.com/subject/lecjiftx.html