2013-12-11 10:03:07 u010981277 阅读数 2691
  • uboot的环境变量-2.9.uboot源码分析5

    本课程为uboot学习的第9部分,主要讲解uboot的环境变量的实现原理和环境变量在内存中、SD卡中的存储方法。结合环境变量相关的几个命令的代码分析,目的是让大家对uboot的环境变量设计思路有深入理解,从而更深入掌握uboot。

    3720 人正在学习 去看看 朱有鹏
1 +++++在主目录下添加环境变量的路径++++

方法一:
1>在主目录下vi .profile
2>添加要添加的环境变量的路径 如:

3> 设置完成后还要source 一下;
4> 执行source   ~/.profile


方法二:
1>在主目录下vi ~/.bashrc
2>添加要添加的环境变量的路径 如:
3> 执行source   ~/.bashrc


注意:用这两种方法的好处就是可以在自己用户创建环境变量不影响其他的用户。

2 +++++在根目录下添加环境变量的路径++++

方法一:
1>在根目录下vi /etc/profile
2>添加要添加的环境变量的路径 如:

3> 执行source   /etc/profile

方法二:

1>在根目录下vi /etc/bash.bashrc
2>添加要添加的环境变量的路径 如:
PATH=$PATH:/home/xyz/wcc/android-ndk-rc
3> 执行source   /etc/bash.bashrc

注意:用这种两种方法加载的环境变量会使所有用户的环境变量都改变,会牵涉其他用户的环境变量。

*****最用加载环境变量后用echo $PATH  查看自己加载的环境变量是否存在。
2019-03-10 13:56:20 lk13636244310 阅读数 1714
  • uboot的环境变量-2.9.uboot源码分析5

    本课程为uboot学习的第9部分,主要讲解uboot的环境变量的实现原理和环境变量在内存中、SD卡中的存储方法。结合环境变量相关的几个命令的代码分析,目的是让大家对uboot的环境变量设计思路有深入理解,从而更深入掌握uboot。

    3720 人正在学习 去看看 朱有鹏

       在Linux系统中,有些文件在系统启动起来的时候或用户登录的时候会自动执行。例如/etc/profile,这是一个Shell脚本文件,任何用户登录的时候都会执行。

        我们可以把环境变量添加到/etc/profile中,这样在任何时候环境变量都有效。换句话说,就是可以在任何目录下可以执行你想执行的那个程序。

        例如在这个例子当中(https://blog.csdn.net/lk13636244310/article/details/88323345),你只能在你建的文件目录下执行。但将环境变量添加到/etc/profile中就不一样了。下面的例子需要参照链接中的例子。

       第一步:打开终端,找到链接里面你建的文件的目录,输入pwd,我的是/home/lk/1。

       第二步:输入sudo vi /etc/profile,在文件末尾添加export PATH=/home/lk/1:$PATH,然后退出来。“:$PATH”表示引用PATH环境变量之前的内容,这样就相当于在之前的内容上又添加了一点新内容。

       第三步:使环境变量生效:source /etc/profile ,然后你可以在任何目录中输入1,都会出现hello world!

      

 

 

      

 

        

 

2016-01-28 16:40:50 iteye_10738 阅读数 90
  • uboot的环境变量-2.9.uboot源码分析5

    本课程为uboot学习的第9部分,主要讲解uboot的环境变量的实现原理和环境变量在内存中、SD卡中的存储方法。结合环境变量相关的几个命令的代码分析,目的是让大家对uboot的环境变量设计思路有深入理解,从而更深入掌握uboot。

    3720 人正在学习 去看看 朱有鹏

linux添加环境变量的办法:

 

1.  编辑 vi ~/.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 JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk.x86_64"
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export REDIS_HOME=/home/hadoop/redis3
export HADOOP_HOME=/home/hadoop/hadoop26
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HIVE_HOME=/home/hadoop/hive121
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin:$HADOOP_HOME/bin:$JAVA_HOME/bin



export PATH

 

 

2. 让新设置的环境变量生效:

    source ~/.bash_profile

2016-06-26 19:19:14 Solomon1558 阅读数 7383
  • uboot的环境变量-2.9.uboot源码分析5

    本课程为uboot学习的第9部分,主要讲解uboot的环境变量的实现原理和环境变量在内存中、SD卡中的存储方法。结合环境变量相关的几个命令的代码分析,目的是让大家对uboot的环境变量设计思路有深入理解,从而更深入掌握uboot。

    3720 人正在学习 去看看 朱有鹏

Shell变量有局部变量、环境变量之分。局部变量就是指在某个Shell中生效的变量,只在此次登录中有效。环境变量通常又称“全局变量”,虽然在Shell中变量默认就是全局的,但是为了让子Shall继承当前Shell的变量,需要使用export内建命令将其导出为环境变量。

一、Linux的变量种类


按变量的生存周期划分:

  • 永久的:需要修改配置文件,变量永久生效。
  • 临时的:使用export命令声明即可,变量在关闭shell时失效。

在配置永久的环境变量时,又可以按照作用范围分为

  • 用户环境变量
  • 系统环境变量

系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。

二、设置环境变量

1. 直接运行export命令定义变量

       在shell的命令行下直接使用[export 变量名=变量值] 定义变量。该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

2. 修改系统环境变量

系统环境变量一般保存在下面的文件中

  • /etc/profile

全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

  • /etc/bash.bashrc

它也是全局(公有)的 bash执行时,不管是何种方式,都会读取此文件。

  • /etc/environment

不要轻易修改此文件

3. 修改用户环境变量

用户环境变量通常被存储在下面的文件中:

  • ~/.profile

若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。

  • ~/.bash_profile 或者~./bash_login

若bash是以login方式执行时,读取~/.bash_profile,若它不存,则读取~/.bash_login,若前两者不存在,读取 ~/.profile。
只有bash是以login形式执行时,才会读取.bash_profile,Unbutu默认没有此文件,可新建。 通常该配置文件还会配置成去读取~/.bashrc。

  • ~/.bashrc

当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。

~/.bash_profile是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

4. 修改环境变量配置文件


如想将一个路径加入到环境变量(例如$PATH)中,可以像下面这样做(修改/etc/profile):
sudo vi /etc/profile
以环境变量PATH为例子,环境变量的声明格式:

PATH=$PATH:PATH_1:PATH_2:PATH_3:------:PATH_N 
export PATH

你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:

$source /etc/profile

三、环境配置文件的区别

1. profile、 bashrc、.bash_profile、 .bashrc介绍

bash会在用户登录时,读取下列四个环境配置文件:

全局环境变量设置文件:/etc/profile、/etc/bashrc。
用户环境变量设置文件:~/.bash_profile、~/.bashrc。

读取顺序:① /etc/profile、② ~/.bash_profile、③ ~/.bashrc、④ /etc/bashrc。

① /etc/profile:此文件为系统的每个用户设置环境信息,系统中每个用户登录时都要执行这个脚本,如果系统管理员希望某个设置对所有用户都生效,可以写在这个脚本里,该文件也会从/etc/profile.d目录中的配置文件中搜集shell的设置。
② ~/.bash_profile:每个用户都可使用该文件设置专用于自己的shell信息,当用户登录时,该文件仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
③ ~/.bashrc:该文件包含专用于自己的shell信息,当登录时以及每次打开新shell时,该文件被读取。
④ /etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。

环境变量配置文件读取顺序

2 .bashrc和.bash_profile的区别


       .bash_profile会用在登陆shell, .bashrc 使用在交互式非登陆 shell 。简单说来,它们的区别主要是.bash_profile是在你每次登录的时候执行的;.bashrc是在你新开了一个命令行窗口时执行的。
       当通过控制台进行登录(输入用户名和密码):在初始化命令行提示符的时候会执行.bash_profile 来配置你的shell环境。但是如果已经登录到机器,在Gnome或者是KDE也开了一个新的终端窗口(xterm),这时,.bashrc会在窗口命令行提示符出现前被执行。当你在终端敲入/bin/bash时.bashrc也会在这个新的bash实例启动的时候执行。

3. 建议

       大多数的时候你不想维护两个独立的配置文件,一个登录的一个非登录的shell。当你设置PATH时,你想在两个文件都适用。可以在.bash_profile中调用.bashrc,然后将PATH和其他通用的设置放到.bashrc中。
       要做到这几点,添加以下几行到.bash_profile中:

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi


       现在,当你从控制台登录机器的时候,.bashrc就会被执行。

四、常用的环境变量

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

Reference

[1] /etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc
http://blog.chinaunix.net/uid-26435987-id-3400127.html
[2] Linux如何修改env看到的环境变量? .bashrc和.bash_profile区别
http://blog.csdn.net/xifeijian/article/details/13355031
[3] linux环境变量,bashrc与bashprofile
http://blog.sina.com.cn/s/blog_43e5ad4e0101ei43.html

2019-09-04 09:00:00 niaooer 阅读数 111
  • uboot的环境变量-2.9.uboot源码分析5

    本课程为uboot学习的第9部分,主要讲解uboot的环境变量的实现原理和环境变量在内存中、SD卡中的存储方法。结合环境变量相关的几个命令的代码分析,目的是让大家对uboot的环境变量设计思路有深入理解,从而更深入掌握uboot。

    3720 人正在学习 去看看 朱有鹏

Linux环境变量及其加载顺序

/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

系统级**

1./etc/environment:
是系统在登陆时读取的第一个文件,设置整个系统的环境变量,只要启动系统就会读取该文件,用于为所有进程设置环境变量。系统使用此文件并不执行此文件中的命令,而是根据Key=Value 模式的代码,如果要在此文件中定义PATH环境变量,需要执行:PATH=$PATH:/xxx/bin
2./etc/profile:
此文件是系统登陆执行的第二个文件,为系统的每个用户设置环境信息。当用户第一次登陆时,该文件执行,并从/etc/profile.d目录中的配置文件搜索shell的设置(可以用于设定针对全系统所有用户的环境变量,环境变量周期是永久的)
3./etc/bashrc:
这个文件是针对所有用户的bash初始化文件,在此设定中的环境信息将应用与所有用户的shell中,此文件会在用户每次打开shell时执行一次。(即每次新开一个终端,都会执行/etc/bashrc)**

用户级

1.~/.profile:
对应当前登录用户的profile文件,用于定制当前用户的个人工作环境(变量是永久性),每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。(推荐放置个人设置的地方)

2.~/.bashrc:
该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。
(~/.bashrc只针对当前用户,变量的生命周期是永久的)。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。

3.~/.bash_profile or ./bash_login:/.bash_profile
是交互式login 方式进入 bash 运行的,~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(如果~/目录下没有.bash_profile则新建立一个)这里是推荐放置个人设置的地方。当一个shell关闭时,在bash_profile中定义的系统变量则会失效。因此,每打开一个新的shell时都要运行一次source bash_profile.而且针对当前用户。
4.~/.bash_logout:
当每次退出系统(退出bash shell)时,执行该文件。另外,/etc/profile中设定的变量(全局)的可以作用于任何用户
~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系

参考:https://blog.csdn.net/u010533843/article/details/54986646

Linux 配置环境变量

阅读数 268

linux 环境变量

阅读数 26

没有更多推荐了,返回首页