Ubuntu 环境变量

1.Linux的变量种类

分类

按变量的生存周期来划分,Linux变量可分为两类: 
  1.1 永久的:需要修改配置文件,变量永久生效。 
  1.2 临时的:使用export命令声明即可,变量在关闭shell时失效。

常用的环境变量

  •   PATH 决定了shell将到哪些目录中寻找命令或程序 
  •   HOME 当前用户主目录 
  •   HISTSIZE 历史记录数 
  •   LOGNAME 当前用户的登录名 
  •   HOSTNAME 指主机的名称 
  •   SHELL   当前用户Shell类型 
  •   LANGUGE  语言相关的环境变量,多语言可以修改此环境变量 
  •   MAIL   当前用户的邮件存放目录 
  •   PS1   基本提示符,对于root用户是#,对于普通用户是$

2. 查看并设置环境变量

1.查看环境变量

查看环境变量有三个命令:

  • env:env命令是environment的缩写,用于列出所有的环境变量
  • export:单独使用export命令也可以像env列出所有的环境变量,不过export命令还有其他额外的功能
  • echo $PATH:    echo $PATH用于列出变量PATH的值,里面包含了已添加的目录

2. 设置方式

设置环境变量通常有三种方式。

2.1 把你的路径加入PATH

可以直接添加到环境变量PATH中。$PATH表示变量PATH的值,包含已有的目录。

这种方法需要注意路径的顺序,如果遇到有同名的命令,那么PATH里面哪个目录先被查询,则那个目录下的命令就会被先执行,如下所示:

# 加到PATH末尾

  • export PATH=$PATH:/path/to/your/dir

# 加到PATH开头

  • export PATH=/path/to/your/dir:$PATH

2.2 命名一个新的环境变量

也可以直接命名一个新的环境变量,用于其它程序引用:

  • export VAR_NAME=value

2.3 设置临时变量

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

3. 作用域

环境变量的作用域通常有三个。

3.1 用于当前终端

打开一个终端,输入添加环境变量的语句:

如果只需要添加的环境变量对当前用户有效,可以写入用户主目录下的.bashrc文件:

  • vim ~/.bashrc   
  • gedit ~/.bashrc

添加语句:

  • export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

注销或者重启可以使修改生效,如果要使添加的环境变量马上生效:

  • source ~/.bashrc

3.2 用于所有用户

要使环境变量对所有用户有效,可以修改profile文件:

  • sudo vim /etc/profile 

添加语句:

  • export CLASS_PATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

注销或者重启可以使修改生效,如果要使添加的环境变量马上生效:

  • source /etc/profile

也可以直接命名一个新的环境变量,用于其它程序引用:

  • export VAR_NAME=value

3. 使用

launch

获取该环境变量

  •     <arg name="agv_system_path" default="$(env MULTI_MODAL_ROBOT_PARAM_PATH)"/>

launch 文件中就可以利用此变量

  •     <arg name="setting_slam" default="$(arg agv_system_path)/vslam/SLAM_mode.yaml"/>

Ubuntu Linux系统环境变量配置文件分为两种:系统级文件和用户级文件,下面详细介绍环境变量的配置文件。

1.系统级文件

/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。这个文件一般就是调用/etc/bash.bashrc文件。

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

/etc/environment: 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

2.用户级文件

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

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率 上讲不好。

~/.bash_profile:每个用户都可使用该文件输入专用于自己 使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

~./bash_login:不推荐使用这个,这些不会影响图形界面。而且.bash_profile优先级比bash_login高。当它们存在时,登录shell启动时会读取它们。

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

~/.pam_environment:用户级的环境变量设置文件。

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值