广告位联系
返回顶部
分享到

ubuntu环境变量的三种设置方法 如何在Ubuntu上设置环境变量?

Ubuntu/Debian 来源:互联网 作者:佚名 发布时间:2023-12-24 20:33:36 人浏览
摘要

工作中,我们自己编译安装的软件,在系统中是无法在全局目录下自动识别的,只能进入到相关目录下才能运行,如在命令行下运行编译安装的php程序,就得 /usr/local/LAMP/php/bin/php 文件

工作中,我们自己编译安装的软件,在系统中是无法在全局目录下自动识别的,只能进入到相关目录下才能运行,如在命令行下运行编译安装的php程序,就得 /usr/local/LAMP/php/bin/php 文件路径/test.php 这样才能运行(/usr/local/LAMP/php 这个为自己编译安装的软件目录)。如果希望在终端命令行任意位置都可以 php 文件路径/test.php 这样运行,那这个时候就需要我们自己配置全局环境变量了。

设置环境变量的三种方法

1、临时设置

export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH

2、当前用户的全局设置

打开~/.bashrc,添加行:

export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH

使生效:

source .bashrc

3、所有用户的全局设置

$ vim /etc/profile

在里面加入:

export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH

使生效

source profile

测试当前的环境变量

echo $PATH
或
env

用户登录后加载profile和bashrc的流程如下:

1. /etc/profile
    ->/etc/profile.d/*.sh
2. $HOME/.bash_profile
    ->$HOME/.bashrc
        ->/etc/bashrc

说明:

  • bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh
  • 随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下的.bashrc脚本,
  • 而.bashrc脚本会执行/etc/bashrc脚本。
  • 至此,所有的环境变量和初始化设定都已经加载完成.
  • bash随后调用terminfo和inputrc,完成终端属性和键盘映射的设定.

其中PATH这个变量特殊说明一下:

  • 如果是超级用户登录,在没有执行/etc/profile之前,PATH已经设定了下面的路径:

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

  • 如果是普通用户,PATH在/etc/profile执行之前设定了以下的路径:

/usr/local/bin:/bin:/usr/bin

这里要注意的是:在用户切换并加载变量,例如su -,这时,如果用户自己切换自己,比如root用户再用su - root切换的话,加载的PATH和上面的不一样.

准确的说,是不总是一样.所以,在/etc/profile脚本中,做了如下的配置:

if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi

如果是超级用户登录,在/etc/profile.d/krb5.sh脚本中,在PATH变量搜索路径的最前面增加/usr/kerberos/sbin:/usr/kerberos/bin

如果是普通用户登录,在/etc/profile.d/krb5.sh脚本中,在PATH变量搜索路径的最前面增加/usr/kerberos/bin

在/etc/profile脚本中,会在PATH变量的最后增加/usr/X11R6/bin目录

在HOME/.bashprofile中,会在PATH变量的最后增加HOME/.bashprofile中,会在PATH变量的最后增加HOME/bin目录

以root用户为例,最终的PATH会是这样(没有其它自定义的基础上)

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

以alice用户(普通用户)为例

/usr/kerberos/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/alice/bin

版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计