一文搞懂什么是环境变量

1. 什么是环境变量?

  • 定义: 环境变量是在操作系统级别设置的键值对,用于存储系统范围的配置信息。

  • 作用: 环境变量可以影响进程的运行,包括其行为、输出等。它们为系统提供了一种在不同进程之间传递信息的方法。

2. 环境变量的分类:

  • 系统环境变量: 在操作系统级别设置的变量,对所有用户和进程都可见。

  • 用户环境变量: 特定用户设置的环境变量,仅对该用户及其启动的进程可见。

3. 常见环境变量:

  • PATH: 包含可执行文件的路径,系统通过搜索这些路径来找到可执行文件。

  • HOME: 用户的主目录路径。

  • USER: 当前用户的用户名。

  • LANG: 系统默认语言。

  • SHELL: 用户默认的 Shell。

4. 设置和查看环境变量:

  • 设置环境变量: 使用 export 命令(在Unix/Linux)或 set 命令(在Windows)来设置环境变量。

    export MY_VARIABLE="some_value"
    

    set MY_VARIABLE="some_value"
    
  • 查看环境变量: 使用 echo 命令(在Unix/Linux)或 echoprintenv 命令(在Windows)来查看环境变量。

    echo $MY_VARIABLE
    

    echo %MY_VARIABLE%
    

5. 环境变量的使用场景:

  • 定制系统行为: 通过设置环境变量,可以定制系统的默认行为,例如更改默认编辑器、语言等。

  • 程序配置: 许多应用程序使用环境变量来配置其行为,例如数据库连接信息、API密钥等。

  • 系统路径: PATH 环境变量定义了系统查找可执行文件的路径,影响命令的执行。

6. Shell配置文件:

在Unix/Linux系统中,用户的环境变量通常在Shell的配置文件中设置。例如,~/.bashrc~/.bash_profile

7. 环境变量的持久性:

  • 暂时性: 在当前终端窗口中设置的环境变量通常在会话结束后失效。

  • 永久性: 在配置文件中设置的环境变量可以在每次登录时持久存在。

8. 注意事项:

  • 避免冲突: 当设置环境变量时,应避免与系统或其他应用程序使用的变量发生冲突。

  • 安全性: 避免将敏感信息存储在环境变量中,因为它们通常可以被其他进程和用户访问。

9. 实际应用场景:

  • 开发环境配置: 开发人员可以使用环境变量来配置开发环境,例如设置编译器路径、库路径等。

  • 系统运维: 运维人员可以使用环境变量来配置系统参数,影响系统行为。

  • 持续集成和部署: 在CI/CD流水线中,可以使用环境变量来传递配置信息给构建和部署工具。

~/.bashrc~/.bash_profile 的区别

Linux系统中root下面的两个环境配置文件

1. ~/.bashrc:

  • 作用: ~/.bashrc 是每次打开新的 Bash Shell 会话时都会被加载的配置文件。它用于设置用户特定的 Shell 配置,例如别名、函数、命令提示符等。

  • 加载时机: 当用户启动一个新的非登录交互式 Bash Shell 时,会执行 ~/.bashrc。这通常发生在打开新的终端窗口时。

  • 典型用途:~/.bashrc 中,你可以设置一些仅在交互式 Shell 中有意义的配置,如颜色设置、自定义别名等。

  • 例子:

    # 设置别名
    alias ll='ls -al'
    
    # 设置命令提示符颜色
    PS1='\[\e[32m\]\u@\h:\w\$ \[\e[0m\]'
    

2. ~/.bash_profile:

  • 作用: ~/.bash_profile 是用户登录时被执行的配置文件,它主要用于设置用户环境变量和执行一次性的初始化任务。

  • 加载时机: 当用户登录到系统时,会执行 ~/.bash_profile。这个文件只在用户登录时执行一次,而不是每次打开新的终端窗口时。

  • 典型用途:~/.bash_profile 中,你可以设置用户的环境变量、启动一些特定于登录会话的服务、执行初始化脚本等。

  • 例子:

    # 添加路径到 PATH 环境变量
    export PATH=$PATH:/usr/local/bin
    
    # 执行初始化脚本
    source ~/init_script.sh
    

3. 交互式 vs. 登录 Shell:

  • 交互式 Shell: 交互式 Shell 是用户与 Shell 交互的一种方式,通常通过终端窗口进行。~/.bashrc 用于配置这种 Shell。

  • 登录 Shell: 登录 Shell 是用户登录到系统时启动的 Shell。~/.bash_profile 用于配置这种 Shell。

4. 推荐做法:

  • 通常,~/.bash_profile 会在登录时执行一次,它可以调用 ~/.bashrc,确保在每个新终端窗口中都有相同的配置。

    # 在 ~/.bash_profile 中调用 ~/.bashrc
    if [ -f ~/.bashrc ]; then
        source ~/.bashrc
    fi
    
  • 如果你仅在一个系统上工作,可能只需要一个配置文件,通常建议使用 ~/.bashrc,并确保在 ~/.bash_profile 中调用它。

需要添加环境变量时,简单来说需要下面步骤
1.查找路径

which xxx

2.得到路径后,用vim打开.bashrc,然后用export添加

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export PATH="/usr/local/cbc/bin:$PATH"
  • PATH中间是用‘:‘隔开,这段代码可以看成是 将新的路径’usr/local/cbc/bin’插入到旧的路径’$PATH’ 前,然后将其作为新的路径

3.使修改的.bashrc文件生效

source ~/.bashrc

4.查看新的path

echo $PATH
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tan code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值