linux shell环境配置


bash 的环境配置文件

回到顶部
上面提到的在bash命令行设置的命令别名、自定义变量等,在退出bash后都会消失。 如果想要保留这些设置,在下次启动bash的时候还能生效,那么就需要将这些变量写入bash的配置文件中。 bash的配置文件分为对整个系统生效的全局配置文件和仅对用户个人生效的用户配置文件。 bash在启动的时候,会按照顺序读取相应的配置文件。
login 与 non-login shell
在开始介绍 bash 的配置文件前,我们一定要先知道的就是 login shell 与 non-login shell! 重点在于 有没有登入 (login) 啦!
login shell:取得 bash 时需要完整的登入流程的,就称为 login shell。举例来说,你要由 tty1 ~ tty6 登入, 需要输入用户的账号与密码,此时取得的 bash 就称为 login shell 啰;
non-login shell:取得 bash 接口的方法不需要重复登入的举动,举例来说, (1)你以 X window 登入 Linux 后, 再以 X 的图形化接口启动终端机,此时那个终端接口并没有需要再次的输入账号与密码,那个 bash 的环 境就称为 non-login shell 了。(2)你在原本的 bash 环境下再次下达 bash 这个命令,同样的也没有输入账号 密码, 那第二个 bash (子程序) 也是 non-login shell 。
为什么要介绍 login, non-login shell 呢?这是因为这两个取得 bash 的情况中,读取的配置文件数据 并不一样所致。 由于我们需要登入系统,所以先谈谈 login shell 会读取哪些配置文件?一般来说, login shell 其实只会读取这两个配置文件:
1. /etc/profile:这是系统整体的设定,你最好不要修改这个文件;
2. ~/.bash_profile 或 ~/.bash_login 或 ~/.profile:属于使用者个人设定,你要改自己的数据,就写入这里!
那么,就让我们来聊一聊这两个文件吧!这两个文件的内容可是非常繁复的喔!
/etc/profile (login shell 才会读)
你可以使用 vim 去阅读一下这个文件的内容。这个配置文件可以利用使用者的标识符 (UID) 来决定 很多重要的变量数据, 这也是每个使用者登入取得 bash 时一定会读取的配置文件! 所以如果你想 要帮所有使用者设定整体环境,那就是改这里啰!不过,没事还是不要随便改这个文件喔 这个文件 设定的变量主要有:
PATH:会依据 UID 决定 PATH 变量要不要含有 sbin 的系统命令目录;
MAIL:依据账号设定好使用者的 mailbox 到 /var/spool/mail/账号名;
USER:根据用户的账号设定此一变量内容;
HOSTNAME:依据主机的 hostname 命令决定此一变量内容;
HISTSIZE:历史命令记录笔数。CentOS 7.x 设定为 1000 ;
umask:包括 root 默认为 022 而一般用户为 002 等!
/etc/profile 可不止会做这些事而已,他还会去呼叫外部的设定数据喔!在 CentOS 7.x 默认的情况下,
底下这些数据会依序的被呼叫进来:
o /etc/profile.d/*.sh
其实这是个目录内的众多文件!只要在 /etc/profile.d/ 这个目录内且扩展名为 .sh ,另外,使用者 能够具有 r 的权限, 那么该文件就会被 /etc/profile 呼叫进来。在 CentOS 7.x 中,这个目录底 下的文件规范了 bash 操作接口的颜色、 语系、ll 与 ls 命令的命令别名、vi 的命令别名、which 的命令别名等等。如果你需要帮所有使用者设定一些共享的命令别名时, 可以在这个目录底下自 行建立扩展名为 .sh 的文件,并将所需要的数据写入即可喔!
o /etc/locale.conf
这个文件是由 /etc/profile.d/lang.sh 呼叫进来的!这也是我们决定 bash 默认使用何种语系的重要 配置文件! 文件里最重要的就是 LANG/LC_ALL 这些个变量的设定啦!我们在前面的 locale 讨 论过这个文件啰! 自行回去瞧瞧先!
o /usr/share/bash-completion/completions/*记得我们上头谈过 [tab] 的妙用吧?除了命令补齐、档名补齐之外,还可以进行命令的选项/参数 补齐功能!那就是从这个目录里面找到相对应的命令来处理的! 其实这个目录底下的内容是由 /etc/profile.d/bash_completion.sh 这个文件载入的啦!
反正你只要记得,bash 的 login shell 情况下所读取的整体环境配置文件其实只有 /etc/profile,但是 /etc/profile 还会呼叫出其他的配置文件,所以让我们的 bash 操作接口变的非常的友善啦! 接下来, 让我们来瞧瞧,那么个人偏好的配置文件又是怎么回事?
~/.bash_profile (login shell 才会读)
bash 在读完了整体环境设定的 /etc/profile 并藉此呼叫其他配置文件后,接下来则是会读取使用者的 个人配置文件。 在 login shell 的 bash 环境中,所读取的个人偏好配置文件其实主要有三个,依序 分别是:
1. ~/.bash_profile
2. ~/.bash_login
3. ~/.profile
其实 bash 的 login shell 设定只会读取上面三个文件的其中一个, 而读取的顺序则是依照上面的顺 序。也就是说,如果 ~/.bash_profile 存在,那么其他两个文件不论有无存在,都不会被读取。 如果 ~/.bash_profile 不存在才会去读取 ~/.bash_login,而前两者都不存在才会读取 ~/.profile 的意思。 会 有这么多的文件,其实是因应其他 shell 转换过来的使用者的习惯而已。 先让我们来看一下 peter 的 /home/peter/.bash_profile 的内容是怎样呢?
[peter@study ~]$ cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
#底下这三行在判断并读取 ~/.bashrc
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
#底下这几行在处理个人化设定
export PATH
这个文件内有设定 PATH 这个变量喔!而且还使用了 export 将 PATH 变成环境变量呢! 由于 PATH 在 /etc/profile 当中已经设定过,所以在这里就以累加的方式增加用户家目录下的 ~/bin/ 为额 外的执行文件放置目录。这也就是说,你可以将自己建立的执行档放置到你自己家目录下的 ~/bin/ 目 录啦! 那就可以直接执行该执行档而不需要使用绝对/相对路径来执行该文件。
这个文件的内容比较有趣的地方在于 if ... then ... 那一段!那一段程序代码我们会在第十二章 shell script 谈到,假设你现在是看不懂的。 该段的内容指的是判断家目录下的 ~/.bashrc 存在否,若存 在则读入 ~/.bashrc 的设定。 bash 配置文件的读入方式比较有趣,主要是透过一个命令 source 来读取的! 也就是说 ~/.bash_profile 其实会再呼叫 ~/.bashrc 的设定内容喔!最后,我们来看看整 个 login shell 的读取流程:图 10.4.1、login shell 的配置文件读取流程
实线的的方向是主线流程,虚线的方向则是被呼叫的配置文件!从上面我们也可以清楚的知道,在 CentOS 的 login shell 环境下,最终被读取的配置文件是 ~/.bashrc 这个文件喔!所以,你当然 可以将自己的偏好设定写入该文件即可。 底下我们还要讨论一下 source 与 ~/.bashrc 喔!
source :读入环境配置文件的命令
由于 /etc/profile 与 ~/.bash_profile 都是在取得 login shell 的时候才会读取的配置文件,所以, 如 果你将自己的偏好设定写入上述的文件后,通常都是得注销再登入后,该设定才会生效。那么,能不 能直接读取配置文件而不注销登入呢? 可以的!那就得要利用 source 这个命令了!
[peter@study ~]$ source 配置文件档名
范例:将家目录的 ~/.bashrc 的设定读入目前的 bash 环境中
[peter@study ~]$ source ~/.bashrc
[peter@study ~]$
.
#底下这两个命令是一样的!
~/.bashrc
利用 source 或小数点 (.) 都可以将配置文件的内容读进来目前的 shell 环境中! 举例来说,我修改 了 ~/.bashrc ,那么不需要注销,立即以 source ~/.bashrc 就可以将刚刚最新设定的内容读进来目前 的环境中!很不错吧!还有,包括 ~/bash_profile 以及 /etc/profile 的设定中, 很多时候也都是利用 到这个 source (或小数点) 的功能喔!
有没有可能会使用到不同环境配置文件的时候?有啊! 最常发生在一个人的工作环境分为多种情况 的时候了!举个例子来说,在的大型主机中, 常常需要负责两到三个不同的案子,每个案子所 需要处理的环境变量订定并不相同, 那么就将这两三个案子分别编写属于该案子的环境变量配 置文件案,当需要该环境时,就直接 source 变量文件 ,如此一来,环境变量的设定就变的更 简便而灵活了!
~/.bashrc (non-login shell 会读)
谈完了 login shell 后,那么 non-login shell 这种非登入情况取得 bash 操作接口的环境配置文件又是 什么? 当你取得 non-login shell 时,该 bash 配置文件仅会读取 ~/.bashrc 而已啦!那么默认的 ~/.bashrc 内容是如何?
[root@initroot ~]# cat ~/.bashrc
# .bashrc# User specific aliases and functions
alias rm='rm -i'
#使用者的个人设定
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
#整体的环境设定
. /etc/bashrc
fi
特别注意一下,由于 root 的身份与一般使用者不同,是以 root 的身份取得上述的数据, 如果 是一般使用者的 ~/.bashrc 会有些许不同。看一下,你会发现在 root 的 ~/.bashrc 中其实已经规范了 较为保险的命令别名了。 此外,咱们的 CentOS 7.x 还会主动的呼叫 /etc/bashrc 这个文件喔!为什 么需要呼叫 /etc/bashrc 呢? 因为 /etc/bashrc 帮我们的 bash 定义出底下的数据:
依据不同的 UID 规范出 umask 的值;
依据不同的 UID 规范出提示字符 (就是 PS1 变量);
呼叫 /etc/profile.d/*.sh 的设定
你要注意的是,这个 /etc/bashrc 是 CentOS 特有的 (其实是 Red Hat 系统特有的),其他不同的 distributions 可能会放置在不同的档名就是了。由于这个 ~/.bashrc 会呼叫 /etc/bashrc 及 /etc/profile.d/*.sh , 所以,万一你没有 ~/.bashrc (可能自己不小心将他删除了),那么你会发现你的 bash 提示字符可能会变成这个样子:
-bash-4.2$
不要太担心啦!这是正常的,因为你并没有呼叫 /etc/bashrc 来规范 PS1 变量啦!而且这样的情况也 不会影响你的 bash 使用。 如果你想要将命令提示字符捉回来,那么可以复制 /etc/skel/.bashrc 到你 的家目录,再修订一下你所想要的内容, 并使用 source 去呼叫 ~/.bashrc ,那你的命令提示字符就 会回来啦!
其他相关配置文件
事实上还有一些配置文件可能会影响到你的 bash 操作的,底下就来谈一谈:
o /etc/man_db.conf
这个文件乍看之下好像跟 bash 没相关性,但是对于系统管理员来说, 却也是很重要的一个文件! 这的文件的内容规范了使用 man 的时候, man page 的路径到哪里去寻找!所以说的简单一 点,这个文件规定了下达 man 的时候,该去哪里查看数据的路径设定!
那么什么时候要来修改这个文件呢?如果你是以 tarball 的方式来安装你的数据,那么你的 man page 可能会放置在 /usr/local/softpackage/man 里头,那个 softpackage 是你的套件名称, 这个时候你就得以手动的方式将该路径加到 /etc/man_db.conf 里头,否则使用 man 的时候就会找不到相 关的说明档啰。
o ~/.bash_history
还记得我们在历史命令提到过这个文件吧?默认的情况下, 我们的历史命令就记录在这里啊!而 这个文件能够记录几笔数据,则与 HISTFILESIZE 这个变数有关啊。每次登入 bash 后,bash 会 先读取这个文件,将所有的历史命令读入内存, 因此,当我们登入 bash 后就可以查知上次使用 过哪些命令啰。至于更多的历史命令, 请自行回去参考喔!
o ~/.bash_logout
这个文件则记录了当我注销 bash 后,系统再帮我做完什么动作后才离开的意思。 你可以去 读取一下这个文件的内容,默认的情况下,注销时, bash 只是帮我们清掉屏幕的讯息而已。 不 过,你也可以将一些备份或者是其他你认为重要的工作写在这个文件中 (例如清空暂存盘), 那么 当你离开 Linux 的时候,就可以解决一些烦人的事情啰!

上一篇文章《什么是linux环境变量》一文中提到,shell在开机启动的时候会读取环境配置文件,将环境变量读取到自己进程的内存空间里, 然后由shell创建的子进程就会继承这个shell的环境变量。那么开机启动的时候shell会读取哪些配置文件呢?
总的来讲,shell读取的配置文件主要有两种: 一种是针对系统环境配置的/etc/environment文件和对所有用户生效的全局配置文件/etc/profile;
还有一种是针对不同用户设置的,只对当前登录用户生效的配置文件。这类文件在每个用户的home目录下以隐藏文件的形式存在。在不同的发行版中都是不一样的。 例如,在我的mint中是~/.profile,在centos中是~/.bash_profile文件。那么,在开机启动的时候,shell是怎么选择使用哪个配置文件的呢? 一般情况,shell会在用户home目录下,按照如下顺序检查三个文件:

  • 1.~/.bash_profile
  • 2.~/.bash_login
  • 3.~/.profile
shell只会读取遇到的第一个存在的文件。例如你的home目录下存在~/.bash_profile和~/.bash_login文件,那么shell只会读取~/.bash_profile, 而忽略~/.bash_login。
所以如果我们想对shell进行配置,如果你的配置对系统中的所有用户都生效,那么按照正常的逻辑只需要在/etc/profile文件中配置就好了,如果只想对某个用户生效, 那么就在该用户的home目录下修改上述三个配置文件中的一个,通常在mint下是~/.profile,在centos中是~/.bash_profile。
我在mint下查看/etc/profile文件是这样的:
              peter@peter-VirtualBox:~$ cat /etc/profile
              # /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
              # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

              if [ "${PS1-}" ]; then
                if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
                  # The file bash.bashrc already sets the default PS1.
                  # PS1='\h:\w\$ '
                  if [ -f /etc/bash.bashrc ]; then
                    . /etc/bash.bashrc
                  fi
                else
                  if [ "`id -u`" -eq 0 ]; then
                    PS1='# '
                  else
                    PS1='$ '
                  fi
                fi
              fi

              if [ -d /etc/profile.d ]; then
                for i in /etc/profile.d/*.sh; do
                  if [ -r $i ]; then
                    . $i
                  fi
                done
                unset i
              fi

              
linux shell环境配置文件
/etc/profile
该文件比较简单,先是对PS1变量进行设置,根据不同的shell,不同的登录用户设置PS1。 如果系统bash不是/bin/sh,就会读取/etc/bash.bashrc文件,在该文件中配置PS1变量。 配置完ps1变量后,我们主要关注最后面的这部分代码:

              if [ -d /etc/profile.d ]; then

              for i in /etc/profile.d/*.sh; do

              if [ -r $i ]; then

              . $i

              fi

              done

              unset i

              fi
              
这部分代码会遍历/etc/profile.d目录,读取并执行该目录下所有的.sh文件。 所以刚才我说如果你想让配置对系统中所有的用户都生效,按照正常的逻辑只需要修改/etc/profile文件就好了。 其实这样做是有问题的,更好的方法是在/etc/profile.d目录下创建自己的配置文件。
我们再来看一下centos下的/etc/profile文件,该文件截图不方便,我将整个源码粘贴过来:

              [root@pozoko ~]# cat /etc/profile

              # /etc/profile

              # System wide environment and startup programs, for login setup

              # Functions and aliases go in /etc/bashrc

              # It's NOT a good idea to change this file unless you know what you

              # are doing. It's much better to create a custom.sh shell script in

              # /etc/profile.d/ to make custom changes to your environment, as this

              # will prevent the need for merging in future updates.

              pathmunge () {

              case ":${PATH}:" in

              *:"$1":*)

              ;;

              *)

              if [ "$2" = "after" ] ; then

              PATH=$PATH:$1

              else

              PATH=$1:$PATH

              fi

              esac

              }

              if [ -x /usr/bin/id ]; then

              if [ -z "$EUID" ]; then

              # ksh workaround

              EUID=`/usr/bin/id -u`

              UID=`/usr/bin/id -ru`

              fi

              USER="`/usr/bin/id -un`"

              LOGNAME=$USER

              MAIL="/var/spool/mail/$USER"

              fi

              # Path manipulation

              if [ "$EUID" = "0" ]; then

              pathmunge /usr/sbin

              pathmunge /usr/local/sbin

              else

              pathmunge /usr/local/sbin after

              pathmunge /usr/sbin after

              fi

              HOSTNAME=`/usr/bin/hostname 2>/dev/null`

              HISTSIZE=1000

              if [ "$HISTCONTROL" = "ignorespace" ] ; then

              export HISTCONTROL=ignoreboth

              else

              export HISTCONTROL=ignoredups

              fi

              export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

              # By default, we want umask to get set. This sets it for login shell

              # Current threshold for system reserved uid/gids is 200

              # You could check uidgid reservation validity in

              # /usr/share/doc/setup-*/uidgid file

              if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then

              umask 002

              else

              umask 022

              fi

              for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do

              if [ -r "$i" ]; then

              if [ "${-#*i}" != "$-" ]; then

              . "$i"

              else

              . "$i" >/dev/null

              fi

              fi

              done

              unset i

              unset -f pathmunge
              
在该文件中也主要是设置几个主要的环境变量PATH、USER、LOGNAME、MAIL、HOSTNAME、HISTSIZE、HISTCONTROL, 根据不同的用户权限设置文件掩码,在文件的最后,同样是遍历/etc/profile.d目录下的sh文件。
在文件的开头有如下注释:

# It's NOT a good idea to change this file unless you know what you

# are doing. It's much better to create a custom.sh shell script in

# /etc/profile.d/ to make custom changes to your environment, as this

# will prevent the need for merging in future updates.
            
意思是不建议我们直接修改该文件,最好是在/etc/profile.d/目录下建立自己的sh文件。 这样做的好处是,如果你在这个文件中做了修改,那么如果下次你对系统做了升级,你做的修改就会被覆盖掉。
我们再来查看下用户家目录下的配置文件,在mint下我的配置文件是~/.profile。该文件源码如下:

              # ~/.profile: executed by the command interpreter for login shells.

              # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login

              # exists.

              # see /usr/share/doc/bash/examples/startup-files for examples.

              # the files are located in the bash-doc package.

              # the default umask is set in /etc/profile; for setting the umask

              # for ssh logins, install and configure the libpam-umask package.

              #umask 022

              # if running bash

              if [ -n "$BASH_VERSION" ]; then

              # include .bashrc if it exists

              if [ -f "$HOME/.bashrc" ]; then

              . "$HOME/.bashrc"

              fi

              fi

              # set PATH so it includes user's private bin if it exists

              if [ -d "$HOME/bin" ] ; then

              PATH="$HOME/bin:$PATH"

              fi

              # set PATH so it includes user's private bin if it exists

              if [ -d "$HOME/.local/bin" ] ; then

              PATH="$HOME/.local/bin:$PATH"

              fi
              
该文件主要读取home目录下的.bashrc文件,然后如果你的目录下面有bin目录或者/.local/bin目录,就会将这两个目录添加到PATH环境变量中。 所以如果你有自己的程序需要运行,但是又不想将可执行文件放在系统目录下,就可以在自己的home目录下面建立bin目录或者/.local/bin目录, 然后将可执行文件放在这个目录下,就可以像执行命令一样运行你的测试程序了。
我们再来看一下该文件开头的注释部分:

# ~/.profile: executed by the command interpreter for login shells.

# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login

# exists.
              
这句话的意思是~/.profile文件会由登录shell执行,如果~/.bash_profile 或者 ~/.bash_login存在,那么shell就不会读取该文件了。这也应证了我前面提到的shell对home目录下三个文件的处理顺序。
再来看一下centos下的~/.bash_profile文件:

# .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
              
该文件和mint下的文件一样,同样会读取home目录下的.bashrc文件,然后将home目录下的~/bin 目录追加到环境变量PATH中。 通过mint和centos两个发行版的对比,我们发现不管家目录下是什么文件,最后都会执行~/.bashrc文件。
所以如果你想对某个用户shell进行配置,也可以在~/.bashrc文件中进行配置。在该文件中所作的配置不需要重新登录就可以生效,只需要执行. ~/.bashr或者重新打开一个shell就可以了。这是为什么呢?我们在mint下打开~/.bashrc文件,最前面有这样一行注释:
~/.bashrc: executed by bash(1) for non-login shells.
我们之前在 ~/.profile文件中也见过类似的注释:
~/.profile: executed by the command interpreter for login shells.
~/.bashrc是由non-login shells执行,而~/.profile是由login shells执行。什么是non-login shells和login shells呢?其实很简单,通过登录后取得shell就是登录shell,比如开机启动登录后获取的就是登录shell,通过ssh远程登录获取的shell也是登录shell。 那什么是非登录shell呢?非登录shell就是你开机登录以后,自己手动启动的shell就是非登录shell了,比如在mint图形界面下,通过terminal打开的就是非登录shell了。 你在登录shell里面再次执行的shell,比如直接敲bash命令,这样进入的也是非登录shell。
上面的注释简单的理解就是:登录shell会执行所有的配置文件,非登录shell只会执行~/.bashrc文件。
这里既然提到了登录shell和非登录shell,这里就顺便再提一下交互式shell和非交互式shell,因为如果你仔细查看shell配置文件的话, 就会看到有些地方会提到交互式shell和非交互式shell,大部分情况下你只要能看到shell的提示符,可以敲命令,那么就是在shell的交互式模式下。
如果你执行了一个shell脚本,那么这个脚本就是在shell的非交互模式下运行的。既然是非交互式shell,所以那些你肉眼能看到效果的变量其实也就没必要配置了,比如PS1, 所以你会在配置文件的某个角落看到这样一句[-z "$PS1" ] && return,意思就是如果是非交互式shell,就直接撂挑子退出了,因为你都看不到,配置还有个毛用。
在不同的发行版下,~/.bashrc又会调用其他的文件,比较特殊的是centos下~/.bashrc又会执行/etc/bashrc文件。代码如下:

# .bashrc

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi
              
这些文件限于篇幅就不继续往下追踪了,基本都是对几个变量还有一些命令别名的配置。有兴趣的大家可以顺着源码继续往下探索。 不过到这里,基本也算是把整个脉络梳理的差不多了。
通过上面对配置文件源码的分析,我们大概可以总结出shell读取配置文件的顺序如下(从左到右,从上到下):
/etc/profile--->/etc/profile.d/*sh--->/etc/locale.conf ~/.bash_profile || ~/.bash_login || ~/.profile --->~/.bashrc --->(仅限centos) /etc/bashrc
这些配置文件大部分都是配置系统变量,也有一些是配置命令别名的。这里要注意,我说系统变量,没有说系统环境变量,因为有些不一定是环境变量,比如PS1(诡异懵逼的笑)。 所以如果想配置环境变量只需要在/etc/profile.d/目录下建立自己的sh文件,然后写上自己的配置,这是针对所有用户的配置。 然后如果只是针对某个用户进行配置,就到这个用户的home目录下,在~/.bash_profile 、 ~/.bash_login、~/.profile、~/.bashrc任意一个文件中添加自己的配置就好了。 这里要注意的一点是,很多人在/etc/profile.d/目录下做了一些配置,但是在开机启动后并没有生效,这很有可能是后面的配置文件又重新对某个变量做了配置, 把之前的配置覆盖掉了。 比如在home目录下又对该变量进行了配置。
除了在上述提到的配置文件中配置环境变量,我们还可以直接在命令行中配置环境变量,直接在命令行中配置的环境变量,在重新开机后就会消失,只适合用于临时性的测试。 由于时间仓促,本篇文章并没有手把手教你怎么配置环境变量,只是和大家一起缕清楚了在哪里可以配置环境变量,也没有说明变量和环境变量(export)的区别。 如果有没有说明白的地方,欢迎关注本人公众号,也可留言讨论。本人水平有限,欢迎批评指正。

initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读