标签:实验 pychar 配置 命令 lan 情况下 默认 games home
我们都知道,系统去找命令时是按环境变量从前到后检测的,那么这些变量都是哪来的,从哪儿能看到呢?
查看当前环境变量,终端输入:
# 查看当前环境变量
[jade@localhost ~]$$PATH
# 输出为
bash:/home/jade/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jade/software/nodejs/bin::/opt/s21/python367/bin:/home/jade/software/nodejs/bin::/home/jade/bin:/home/jade/.local/bin:: 没有那个文件或目录
分别查看这几个文件的内容
# 查看文件
cat /etc/profile
# 输出(这里只列出和环境变量有关的命令)
export PATH="$PATH:/opt/s21/python367/bin:/home/jade/software/nodejs/bin:"
# 查看文件
cat /etc/environment
# 输出(这里只列出和环境变量有关的命令)
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jade/software/nodejs/bin:"
# 查看文件
cat /etc/bashrc
# 输出(这条和环境变量无关,只是一条快捷命令,可忽略)
alias pycharm=‘sh /home/jade/pycharm-2019.1.2/bin/pycharm.sh‘
# 查看文件
cat /home/jade/.profile
# 输出(这里只列出和环境变量有关的命令)
PATH="$PATH:$HOME/bin:$HOME/.local/bin:"
# 查看文件
cat /home/jade/.bashrc
# 输出(这里只列出和环境变量有关的命令)
export PATH="/home/jade/anaconda3/bin:$PATH"
由以上,可以分析出环境变量的组成:
/home/jade/anaconda3/bin: ----->来自于 /home/jade/.bashrc
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jade/software/nodejs/bin: ----->来自于 /etc/environment
:/opt/s21/python367/bin:/home/jade/software/nodejs/bin: ----->来自于 /etc/profile:
:/home/jade/bin:/home/jade/.local/bin:: 没有那个文件或目录 ----->来自于 /home/jade/.profile
那么,加载先后顺序或者叠加规则已经出来了:
先加载/etc/environment-----> /etc/profile -----> /home/jade/.profile -----> /home/jade/.bashrc
至于/etc/bashrc是在哪个位置,由于对我没有影响(因为里面没有涉及到环境变量),这里不做定论.不过根据用户级的文件读取顺序,可以猜测是在/etc/profile之后,读者们可以自行实验
标签:实验 pychar 配置 命令 lan 情况下 默认 games home
原文地址:https://www.cnblogs.com/can-xue/p/13653290.html