Ubuntu 环境变量

Ubuntu下启动的时候的的加载环境变量的过程大致为:

/etc/enviroment

/etc/profile

  -->/etc/bash.bashrc

  -->/etc/profile

    -->/etc/profile.d下的所有.sh文件

~/.profile (或~/.bash_profile 或 ~/.bash_login)

  -->~/.bashrc (如果在运行bash才运行)

    -->~/.bash_aliases

    -->/etc/bash_completion


1. /etc/profile:首先是全局的,适用于所有的shell;在登录时,操作系统配置用户首选项使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行用于设置shell,可以在这里配置环境变量。


2.  /etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,配置文件系统环境。 我一般在这里设置一些全局的变量,Ubuntu默认PATH在这个文件中,我就把adb的路径放到这里了。(PS:以上两项修改需要重启)

3. ~/.bash_profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户 登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

4.~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

常用的一些命令:

echo : echo $PATH  可以用来显示环境变量

export :设置一些环境变量  export PATH="$PATH:/my_new_path"

env : 显示所有的环境变量

set : 显示所有本地定义的Shell变量

unset : 清楚环境变量  unset $PATH

readonly :  设置只读变量 readonly PATH


1)etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
注:在这里我们设定是为所有用户可使用的全局变量。

2)/etc/bashrc:
为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

3)~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
注:~在LINUX下面是代表HOME这个变量的。
另外在不同的LINUX操作系统下,这个文件可能是不同的,可能是~/.bash_profile; ~/.bash_login或 ~/.profile其中的一种或几种,如果存在几种的话,那么执行的顺序便是:~/.bash_profile、 ~/.bash_login、 ~/.profile。比如我用的是Ubuntu,我的用户文件夹下默认的就只有~/.profile文件。


4)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
(注:这个文件是 .开头的,所以在文件夹中被隐藏了)
那么我们如何添加自己定义的环境变量呢?
用记事本打开这个文件,然后在里面最后写上:
export xiaokang=xiaokang


然后保存,这样每次打开一个新的terminal的时候,我们这个变量就生效了。记住,如果你已经打开一个terminal,然后你修改了这个文件,那么在这个terminal下是不会生效的。一般情况用户最好在这里进行修改,但是有时候会覆盖父级的变量,比如PATH是ROOT设定的,但是如果你在这个文件里面写了PATH=xx,那么将来所有的PATH都成了xx了,所以我们应该在这个文件中写为:  
PATH=$PATH:xx
这样就把原来的和你自己的一起加上了。而且注意在LINUX系统下用:分割表示并列,而不是windo的;


我再补充一些测试:
比如往~/.bashrc最后添加环境变量jat:

nano ~/.bashrc( 不要忘了bashrc前面的点,如果忘了名字,只需记住带有bash字样,ls -al ~ | grep bash查找即可)

# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi
export XMODIFIERS="@im=ibus"
export QT_IM_MODULE=ibus
我这里已经有设置过一些环境变量了,跟ibus相关的。
我在后面添加:
export jat=jat1
保存后,另开一个shell验证(因为这个文件是在新开shell时读取的,对于当前shell并不生效)
验证方法有三种:
1,执行echo $jat
2,执行export | grep -i jat
可以看到有一行:
declare -x jat="jat1"
3,或者也可以通过env | grep -i jat查看,结果是一样的。


如果要使用临时的环境变量,那么在当前shell使用export key=value就可以了,关闭shell之后这些变量就不存在了。

需要注意的是,有时候系统变量在脚本中也不起作用,这时可能需要自己手动修改脚本,加上相应变量声明
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu系统的环境变量配置有两个级别:用户级别和系统级别。用户级别的环境变量定义文件包括~/.bashrc、~/.profile(部分系统为:~/.bash_profile),而系统级别的环境变量定义文件包括/etc/bashrc、/etc/profile(部分系统为:/etc/bash_profile)、/etc/environment。在用户环境变量中,系统会首先读取~/.bash_profile(或者~/.profile)文件,如果没有该文件则读取~/.bash_login,然后再读取~/.bashrc文件。\[2\] 如果你修改了环境变量的配置文件,你需要保存修改并打开一个新的终端窗口才能看到变量的新值。你可以使用命令"echo $变量名"来查看环境变量的值。例如,使用命令"echo $UU_ORDER"可以查看变量UU_ORDER的值。\[3\] 总结来说,Ubuntu系统的环境变量配置需要了解调用顺序,以确保配置的环境变量能够生效。用户级别的环境变量定义文件在~/.bashrc和~/.profile中,系统级别的环境变量定义文件在/etc/bashrc、/etc/profile和/etc/environment中。修改环境变量配置后,需要保存并打开一个新的终端窗口才能看到变量的新值。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [Ubuntu 环境变量](https://blog.csdn.net/dongqiushan/article/details/53926801)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ubuntu配置环境变量的方法](https://blog.csdn.net/qq_27182175/article/details/124185414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值