zoukankan      html  css  js  c++  java
  • Linux shell 环境变量及有效范围

    每当我们使用ssh客户端远程登陆一个服务时,操作系统就会给我们分配一个新的shell,并且这个shell继承了操作系统的永久环境变量。在当前的shell执行一个sh文件,都会临时产生一个子shell,该文件执行完毕后,将自动返回到父shell。

    子shell会继承父shell的所有永久环境变量和临时环境变量。

    父shell不能使用子shell中定义的变量和环境变量。

    1.永久环境变量

    /etc/profile  永久生效,对所有用户有效,需要重启
    /etc/bashrc 永久生效,对所有用户有效,无需重启
    ~/.bashrc    永久生效,仅对当前用户所属的shell有效

    2.临时环境变量
    var=value
    export var
    仅对当前的shell及子shell有效。

    3.普通变量
    shell中的普通变量很简单, 仅能被当前shell访问, 不能被其子进程访问, 更不能被其它shell访问。

    常见场景:

    1.引用环境变量声明文件

    我们在deploy一个项目的时候,经常用到。如果编写的shell脚本,想引入一个用于声明临时环境变量的文件,并且在该脚本中使用相关变量,可以使用source命令。

    例如:SetEnv.sh 中声明了普通的变量和临时环境变量。

    #!/bin/bash
    
    hostname=`hostname`
    
    weblogic_home=/opt/weblogic/
    export weblogic_home
    

    在verify.sh中,使用source读入SetEnv.sh文件内容并自动执行后,就可以使用SetEnv.sh中的变量。

    #!/bin/bash
    source ./SetEnv.sh
    
    echo $hostname
    echo $weblogic_home

    Linux source命令:

    通常用法:source filepath 或 . filepath

    功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profile。

    source命令(从 C Shell 而来)是bash shell的内置命令;

    点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。这从用法中也能看出来。

    如果您喜欢我,可以通过微信请我喝果汁。

    如果有疑问,可以留言或者发邮件给我 lhh_nj@163.com
  • 相关阅读:
    xpath的几个常用规则
    xpath定位不到原因浅析
    这一代人得学习
    scrapy之Request对象
    cookie字段属性解析
    selenium中get_cookies()和add_cookie()的用法
    python中生成器generator
    swagger demo code
    ctrip-apollo
    eclipse 快捷键使用日志
  • 原文地址:https://www.cnblogs.com/lihuanhuan/p/10612132.html
Copyright © 2011-2022 走看看