1. 首页 > Linux教程 > 正文

Linux教程FG190-环境变量配置命令

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

本文档详细介绍环境变量的查看、配置和管理,包括echo、e

风哥提示:

xport、env、set等命令的使用方法。

Part01-环境变量基础

1.1 查看环境变量

# 使用echo命令查看单个环境变量
$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user/.local/bin:/home/user/bin

$ echo $HOME
/home/user

$ echo $USER
user

$ echo $SHELL
/bin/bash

$ echo $LANG
en_US.UTF-8

# 使用env命令查看所有环境变量
$ env | head -20
XDG_SESSION_ID=1
HOSTNAME=rhel10
SELINUX_ROLE_REQUESTED=
TERM=xterm-256color
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.1.100 52341 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/0
USER=user
MAIL=/var/mail/user
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user/.local/bin:/home/user/bin
PWD=/home/user
LANG=en_US.UTF-8
SHLVL=1
LOGNAME=user
XDG_RUNTIME_DIR=/run/user/1000
_=/usr/bin/env

# 使用set命令查看所有变量(包括shell变量)
$ set | head -30
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_EXECUTION_STRING=set
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]=”5″ [1]=”2″ [2]=”15″ [3]=”1″ [4]=”release” [5]=”x86_64-redhat-linux-gnu”)
BASH_VERSION=’5.2.15(1)-release’
COLUMNS=120
DIRSTACK=()
EUID=1000
GROUPS=()
HISTCONTROL=ignoredups
HISTFILE=/home/user/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/home/user
HOSTNAME=rhel10
HOSTTYPE=x86_64
IFS=$’ \t\n’
LANG=en_US.UTF-8

Part02-设置环境变量

2.1 临时设置环境变量

# 临时设置环境变量(当前shell会话有效)
$ export MY_VAR=”Hello World”
$ echo $MY_VAR
Hello World

# 设置多个环境变量
$ export VAR1=”value1″
$ export VAR2=”value2″
$ export VAR3=”value3″
$ echo $VAR1 $VAR2 $VAR3
value1 value2 value3

# 查看新设置的环境变量
$ env | grep VAR
VAR1=value1
VAR2=value2
VAR3=value3
MY_VAR=Hello World

# 临时修改PATH环境变量
$ export PATH=$PATH:/opt/myapp/bin
$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user/.local/bin:/home/user/bin:/opt/myapp/bin

# 验证新路径已添加
$ which myapp
/opt/myapp/bin/myapp

Part03-永久设置环境变量

3.1 用户级环境变量配置

# 查看当前用户的shell配置文件
$ ls -la ~/.bash*
-rw——-. 1 user user 1234 Apr 3 13:00:00 .bash_history
-rw-r–r–. 1 user user 234 Jan 1 00:00:00 .bash_logout
-rw-r–r–. 1 user user 567 Jan 1 00:00:00 .bash_profile
-rw-r–r–. 1 user user 3456 Jan 1 00:00:00 .bashrc

# 查看当前.bashrc文件内容
$ cat ~/.bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
alias ll=’ls -la’
alias la=’ls -A’
alias l=’ls -CF’

# 编辑.bashrc文件添加环境变量
$ vi ~/.bashrc

# 在.bashrc文件末尾添加以下内容
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$PATH:$JAVA_HOME/bin
export MY_APP_HOME=/opt/myapp
export PATH=$PATH:$MY_APP_HOME/bin

# 重新加载.bashrc文件使配置生效
$ source ~/.bashrc

# 验证环境变量已设置
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk

$ echo $PATH | grep java
/usr/lib/jvm/java-17-openjdk/bin

$ echo $MY_APP_HOME
/opt/myapp

# 新开一个终端会话验证永久生效
$ bash
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk

3.2 系统级环境变量配置

# 查看系统级环境变量配置文件
$ ls -la /etc/profile*
-rw-r–r–. 1 root root 1234 Jan 1 00:00:00 /etc/profile
-rw-r–r–. 1 root root 567 Jan 1 00:00:00 /etc/profile.d/

# 查看profile.d目录下的配置文件
$ ls /etc/profile.d/
colorgrep.csh
colorgrep.sh
colorls.csh
colorls.sh
less.csh
less.sh
vim.csh
vim.sh

# 创建系统级环境变量配置文件
$ sudo vi /etc/profile.d/myenv.sh

# 添加以下内容
export SYSTEM_VAR=”system_value”
export PATH=$PATH:/opt/system/bin

# 重新加载系统配置文件
$ source /etc/profile

# 验证系统级环境变量
$ echo $SYSTEM_VAR
system_value

# 切换到其他用户验证
$ su – user2
$ echo $SYSTEM_VAR
system_value

Part04-删除环境变量

4.1 删除环境变量

# 查看当前环境变量
$ echo $MY_VAR
Hello World

# 删除环境变量
$ unset MY_VAR

# 验证环境变量已删除
$ echo $MY_VAR

# 删除多个环境变量
$ unset VAR1 VAR2 VAR3

# 验证环境变量已删除
$ echo $VAR1 $VAR2 $VAR3

# 查看所有环境变量确认
$ env | grep -E “(MY_VAR|VAR1|VAR2|VAR3)”

Part05-环境变量优先级

5.1 环境变量优先级测试

# 在.bashrc中设置环境变量
$ echo ‘export TEST_VAR=”bashrc_value”‘ >> ~/.bashrc
$ source ~/.bashrc

# 在.profile中设置环境变量
$ echo ‘export TEST_VAR=”profile_value”‘ >> ~/.bash_profile

# 查看当前值
$ echo $TEST_VAR
bashrc_value

# 临时设置环境变量
$ export TEST_VAR=”temp_value”

# 查看当前值
$ echo $TEST_VAR
temp_value

# 新开终端查看值
$ bash
$ echo $TEST_VAR
bashrc_value

# 结论:临时环境变量 > .bashrc > .bash_profile > /etc/profile

Part06-实战案例

6.1 配置Java开发环境

# 安装Java
$ sudo dnf install -y java-17-openjdk-devel

# 查找Java安装路径
$ which java
/usr/bin/java

$ readlink -f /usr/bin/java
/usr/lib/jvm/java-17-openjdk-17.0.1.0-1.el10.x86_64/bin/java

# 配置Java环境变量
$ cat >> ~/.bashrc << 'EOF' # Java Environment export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.1.0-1.el10.x86_64 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin EOF # 重新加载配置 $ source ~/.bashrc # 验证Java环境变量 $ echo $JAVA_HOME /usr/lib/jvm/java-17-openjdk-17.0.1.0-1.el10.x86_64 $ java -version openjdk version "17.0.1" 2021-10-19 OpenJDK Runtime Environ学习交流加群风哥微信: itpux-comment 21.9 (build 17.0.1+12) OpenJDK 64-Bit Server VM 21.9 (build更多学习教程公众号风哥教程itpux_com 17.0.1+12, mixed mode, sharing) $ javac -version javac 17.0.1

风哥针对使用建议:
1. 用户级环境变量配置在~/.bashrc或~/.bash_profile
2. 系统级环境变量配置在/etc/profile.d/目录
3. 修改配置文件后使用source命令重新加载
4. 环境变量名通常使用大写字母
5. PATH变量使用冒号分隔多个路径

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息