← 返回首页
🌍

Linux环境变量配置

📂 devops ⏱ 1 min 168 words

Linux环境变量配置

什么是环境变量

环境变量是系统运行时的动态值,用于存储系统配置、路径信息等。它们可以被子进程继承。

环境变量类型

按作用范围分类

类型 说明
局部变量 仅在当前Shell会话中有效
全局变量 对所有用户和子进程有效
Shell变量 Shell自身的变量

常用环境变量

变量 说明
HOME 用户主目录
USER 当前用户名
PATH 可执行文件搜索路径
SHELL 当前Shell类型
LANG 系统语言
JAVA_HOME Java安装目录
CLASSPATH Java类路径

查看环境变量

# 查看所有环境变量
env
printenv

# 查看特定变量
echo $PATH
echo $HOME

# 使用printenv
printenv PATH

设置环境变量

临时设置

# 当前会话有效
export MY_VAR="hello"
MY_VAR="hello"    # 仅局部变量

# 取消设置
unset MY_VAR

永久设置

用户级别

# ~/.bashrc 或 ~/.bash_profile
export MY_VAR="hello"
export PATH=$PATH:/opt/myapp/bin

# 生效
source ~/.bashrc

系统级别

# /etc/environment
MY_VAR="hello"

# /etc/profile.d/ 目录
cat > /etc/profile.d/myenv.sh << 'EOF'
export MY_VAR="hello"
export JAVA_HOME=/usr/local/java
EOF

PATH变量详解

PATH定义了系统查找可执行文件的目录顺序。

# 查看PATH
echo $PATH | tr ':' '\n'

# 添加目录到PATH
export PATH=$PATH:/new/directory

# 永久添加
echo 'export PATH=$PATH:/opt/myapp/bin' >> ~/.bashrc

优先级

# 按顺序查找
which command    # 查找命令位置
type command     # 判断命令类型

配置文件加载顺序

登录Shell

/etc/profile
~/.bash_profile
~/.bash_login
~/.profile

非登录Shell

/etc/bash.bashrc
~/.bashrc

实践:配置Java环境

#!/bin/bash

# 设置JAVA_HOME
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

# 验证
java -version
javac -version

永久配置

# 添加到/etc/profile.d/
cat > /etc/profile.d/java.sh << 'EOF'
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
EOF

source /etc/profile.d/java.sh

环境变量应用

在脚本中使用

#!/bin/bash
echo "当前用户: $USER"
echo "主目录: $HOME"
echo "系统: $HOSTNAME"
echo "Java: $JAVA_HOME"

在程序中获取

import os
print(os.environ.get('MY_VAR'))
print(os.path.expanduser('~'))

总结

环境变量是Linux系统配置的重要组成部分。正确设置环境变量,可以简化命令执行和程序配置。