2、用户目录(root或普通用户)下的.bashrc、.bash_profile两个文件,注意这两个文件前面都有点,是隐藏文件。
按变量的周期划为永久变量和临时性变量2种:
永久变量:通过修改配置文件,配置之后变量永久生效。
临时性变量:使用命令如export等命令设置,设置之后马上生效。当关闭shell的时候失效(这种主要用于测试比较多)。
按照影响范围分为用户变量和系统变量2种:
用户变量(局部变量):修改的设置只对某个用户的路径或执行起作用;
系统变量(全局变量):影响范围是整个系统。
export命令显示当前系统定义的所有环境变量,运行返回结果如下:
echo $PATH命令输出当前的PATH环境变量的值,运行返回结果如下:
直接用export命令修改PATH值 (重启终端后配置失效)
export PATH=$PATH:/home/sphc/software/bin
该文件为当前用户配置文件,修改后,作用于当前用户的环境变量。
该文件为当前用户配置文件,修改后,作用于当前用户的环境变量。
/etc/bashrc为系统环境配置文件,需要管理员权限(如root)或者对该文件的写入权限,修改后,作用于所有用户。
/etc/profile为系统全局配置文件,需要管理员权限或者对该文件的写入权限,修改后,作用于系统下所有用户的环境变量。
/etc/environment为系统环境配置文件,需要管理员权限或者对该文件的写入权限,修改后,作用于系统下所有用户的环境变量。
Shell变量有局部变量、环境变量之分。局部变量就是指在某个Shell中生效的变量,只在此次登录中有效。环境变量通常又称“全局变量”,虽然在Shell中变量默认就是全局的,但是为了让子Shall继承当前Shell的变量,需要使用export内建命令将其导出为环境变量。
按变量的生存周期划分:
永久的:需要修改配置文件,变量永久生效。
临时的:使用export命令声明即可,变量在关闭shell时失效。
在配置永久的环境变量时,又可以按照作用范围分为:
用户环境变量
系统环境变量。
系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
它也是全局(公有)的 bash执行时,不管是何种方式,都会读取此文件。
不要轻易修改此文件
用户环境变量通常被存储在下面的文件中:
若bash是以login方式执行时,读取 ~/.bash_profile ,若它不存在,则读取 ~/.bash_login ,若前两者不存在,读取 ~/.profile 。
若bash是以login方式执行时,读取 ~/.bash_profile ,若它不存,则读取 ~/.bash_login ,若前两者不存在,读取 ~/.profile 。
只有bash是以login形式执行时,才会读取.bash_profile,Unbutu默认没有此文件,可新建。 通常该配置文件还会配置成去读取 ~/.bashrc 。
当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
如想将一个路径加入到环境变量(例如$PATH)中,可以像下面这样做(修改/etc/profile):
你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:
bash会在用户登录时,读取下列四个环境配置文件:
全局环境变量设置文件: /etc/profile 、 /etc/bashrc 。 用户环境变量设置文件: ~/.bash_profile 、 ~/.bashrc 。
读取顺序:① /etc/profile 、② ~/.bash_profile 、③ ~/.bashrc 、④ /etc/bashrc 。
2 .bashrc 和 .bash_profile 的区别
.bash_profile 会用在登陆shell, .bashrc 使用在交互式非登陆 shell 。简单说来,它们的区别主要是 .bash_profile 是在你每次登录的时候执行的; .bashrc 是在你新开了一个命令行窗口时执行的。
当通过控制台进行登录(输入用户名和密码):在初始化命令行提示符的时候会执行.bash_profile 来配置你的shell环境。但是如果已经登录到机器,在Gnome或者是KDE也开了一个新的终端窗口(xterm),这时,.bashrc会在窗口命令行提示符出现前被执行。当你在终端敲入/bin/bash时.bashrc也会在这个新的bash实例启动的时候执行。
所以对于我自己,我写了一个 .pathrc 文件
然后在 .bashrc , .zshrc , .bash_profile , /etc/profile 中都加了
下面是 .pathrc 文件
现在,当你从控制台登录机器的时候,.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
1. Linux export命令简介
Linux export命令用于设置或显示环境变量。
�.shellä¸æ§è¡ç¨åºæ¶ï¼shellä¼æä¾ä¸ç»ç¯å¢åéãexportå¯æ°å¢ï¼ä¿®æ¹æå é¤ç¯å¢åéï¼ä¾åç»æ§è¡çç¨åºä½¿ç¨ãexportçæåä» åäºè¯¥æ¬¡ç»éæä½ã
exportå½ä»¤ç¨äºå°shellåéè¾åºä¸ºç¯å¢åéï¼æè å°shellå½æ°è¾åºä¸ºç¯å¢åéã
ä¸ä¸ªåéå建æ¶ï¼å®ä¸ä¼èªå¨å°ä¸ºå¨å®ä¹åå建çshellè¿ç¨æç¥ãèå½ä»¤exportå¯ä»¥ååé¢çshellä¼ éåéçå¼ãå½ä¸ä¸ªshellèæ¬è°ç¨å¹¶æ§ è¡æ¶ï¼å®ä¸ä¼èªå¨å¾å°å为èæ¬ï¼è°ç¨è ï¼éå®ä¹çåéç访é®æï¼é¤éè¿äºåéå·²ç»è¢«æ¾å¼å°è®¾ç½®ä¸ºå¯ç¨ãexportå½ä»¤å¯ä»¥ç¨äºä¼ éä¸ä¸ªæå¤ä¸ªåéçå¼å°ä»»ä½å继èæ¬ã
Linux exportå½ä»¤ç®ä»
2. exportåæ°
-f 代表[åéå称]ä¸ä¸ºå½æ°å称ã
-n å é¤æå®çåéãåéå®é ä¸å¹¶æªå é¤ï¼åªæ¯ä¸ä¼è¾åºå°åç»æ令çæ§è¡ç¯å¢ä¸ã
-p ååºææçshellèµäºç¨åºçç¯å¢åéã
ä¸ä¸ªåéå建æ¶ï¼å®ä¸ä¼èªå¨å°ä¸ºå¨å®ä¹åå建çshellè¿ç¨æç¥ãèå½ä»¤exportå¯ä»¥ååé¢çshellä¼ éåéçå¼ãå½ä¸ä¸ªshellèæ¬è°ç¨å¹¶æ§è¡æ¶ï¼å®ä¸ä¼èªå¨å¾å°å为èæ¬ï¼è°ç¨è ï¼éå®ä¹çåéç访é®æï¼é¤éè¿äºåéå·²ç»è¢«æ¾å¼å°è®¾ç½®ä¸ºå¯ç¨ãexportå½ä»¤å¯ä»¥ç¨äºä¼ éä¸ä¸ªæå¤ä¸ªåéçå¼å°ä»»ä½å继èæ¬ã
Linuxæä¹è®¾ç½®åéç¯å¢
3. å¨linuxé设置ç¯å¢åéçæ¹æ³
ä¸è¬æ¥è¯´ï¼é 置交åç¼è¯å·¥å ·é¾çæ¶åéè¦æå®ç¼è¯å·¥å ·çè·¯å¾ï¼æ¤æ¶å°±éè¦è®¾ç½®ç¯å¢åéãä¾å¦æçmips-linux-gccç¼è¯å¨å¨â/opt/abc/123/binâç®å½ä¸ï¼æå¦ä¸ä¸ç§æ¹æ³æ¥è®¾ç½®ç¯å¢åéï¼
3.1 ç´æ¥ç¨exportå½ä»¤ï¼ä¸´æ¶çæ
æ¥çæ¯å¦å·²ç»è®¾å¥½ï¼å¯ç¨å½ä»¤exportæ¥çï¼
æ£æ¥ï¼
è¾åºç»æï¼
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="zcwyou"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="rs=0:di=0134:ln=0136:mh=00:pi=4033:so=0135:do=0135:bd=403301:cd=403301:or=403101:mi=01053741:su=3741:sg=3043:ca=3041:tw=3042:ow=3442:st=3744:ex=0132: .tar=0131: .tgz=0131: .arc=0131: .arj=0131: .taz=0131: .lha=0131: .lz4=0131: .lzh=0131: .lzma=0131: .tlz=0131: .txz=0131: .tzo=0131: .t7z=0131: .zip=0131: .z=0131: .Z=0131: .dz=0131: .gz=0131: .lrz=0131: .lz=0131: .lzo=0131: .xz=0131: .bz2=0131: .bz=0131: .tbz=0131: .tbz2=0131: .tz=0131: .deb=0131: .rpm=0131: .jar=0131: .war=0131: .ear=0131: .sar=0131: .rar=0131: .alz=0131: .ace=0131: .zoo=0131: .cpio=0131: .7z=0131: .rz=0131: .cab=0131: .jpg=0135: .jpeg=0135: .gif=0135: .bmp=0135: .pbm=0135: .pgm=0135: .ppm=0135: .tga=0135: .xbm=0135: .xpm=0135: .tif=0135: .tiff=0135: .png=0135: .svg=0135: .svgz=0135: .mng=0135: .pcx=0135: .mov=0135: .mpg=0135: .mpeg=0135: .m2v=0135: .mkv=0135: .webm=0135: .ogm=0135: .mp4=0135: .m4v=0135: .mp4v=0135: .vob=0135: .qt=0135: .nuv=0135: .wmv=0135: .asf=0135: .rm=0135: .rmvb=0135: .flc=0135: .avi=0135: .fli=0135: .flv=0135: .gl=0135: .dl=0135: .xcf=0135: .xwd=0135: .yuv=0135: .cgm=0135: .emf=0135: .axv=0135: .anx=0135: .ogv=0135: .ogx=0135: .aac=0136: .au=0136: .flac=0136: .mid=0136: .midi=0136: .mka=0136: .mp3=0136: .mpc=0136: .ogg=0136: .ra=0136: .wav=0136: .axa=0136: .oga=0136: .spx=0136:*.xspf=0136:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/abc/123/bin"
declare -x PWD="/root"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="113.105.164.145 6668 22"
declare -x SSH_CONNECTION="113.105.164.145 6668 113.105.164.151 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
declare -x XDG_RUNTIME_DIR="/run/user/0"
declare -x XDG_SESSION_ID="2185"
çæä¸ä¸è¾åºçè¿é¨åï¼
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/abc/123/bin"
å¯ä»¥çå°å·²ç»å æ¬äºåå设置çåéè·¯å¾ã
åéè·¯å¾åç¯å¢Linux
3.2 ä¿®æ¹profileæ件ï¼æ°¸ä¹ çæ
æç®å½/opt/abc/123/binå¨éé¢å å ¥:
export PATH="
3.3 ä¿®æ¹.bashrcæ件ï¼æ°¸ä¹ çæ
å¨éé¢å å ¥ï¼
export PATH="PATH:/opt/abc/123/bin"¨K14K¨G3Gå¨éé¢å å ¥ï¼exportPATH="PATH:/opt/abc/123/bin"
æ£æ¥ç»æï¼
3.4 ä¿®æ¹/etc/re.localæ件ï¼æ°¸ä¹ çæ
å¨éé¢å å ¥ï¼
export PATH="
â/binâãâ/sbinâãâ /usr/binâãâ/usr/sbinâãâ/usr/local/binâçè·¯å¾å·²ç»å¨ç³»ç»ç¯å¢åéä¸äºï¼å¦æå¯æ§è¡æ件å¨è¿å 个æ åä½ç½®ï¼å¨ç»ç«¯å½ä»¤è¡è¾å ¥è¯¥è½¯ä»¶å¯æ§è¡æ件çæ件åååæ°(å¦æéè¦åæ°)ï¼å车å³å¯ã
å¦æä¸å¨æ åä½ç½®ï¼æ件ååé¢éè¦å ä¸å®æ´çè·¯å¾ãä¸è¿æ¯æ¬¡é½è¿æ ·è·å°±å¤ªéº»ç¦äºï¼ä¸ä¸ªâä¸å³æ°¸é¸âçåæ³æ¯æè¿ä¸ªè·¯å¾å å ¥ç¯å¢åéãå½ä»¤ export PATH:/opt/abc/123/bin"â/binâãâ/sbinâãâ/usr/binâãâ/usr/sbinâãâ/usr/local/binâçè·¯å¾å·²ç»å¨ç³»ç»ç¯å¢åéä¸äºï¼å¦æå¯æ§è¡æ件å¨è¿å 个æ åä½ç½®ï¼å¨ç»ç«¯å½ä»¤è¡è¾å ¥è¯¥è½¯ä»¶å¯æ§è¡æ件çæ件åååæ°(å¦æéè¦åæ°)ï¼å车å³å¯ãå¦æä¸å¨æ åä½ç½®ï¼æ件ååé¢éè¦å ä¸å®æ´çè·¯å¾ãä¸è¿æ¯æ¬¡é½è¿æ ·è·å°±å¤ªéº»ç¦äºï¼ä¸ä¸ªâä¸å³æ°¸é¸âçåæ³æ¯æè¿ä¸ªè·¯å¾å å ¥ç¯å¢åéãå½ä»¤exportPATH="è·¯å¾â(æâPATH=
PATH为ç¯å¢åéåï¼å¦DVSDKï¼è°ç¨æ¶ç¨
export DVSDK)å¯ä»¥æè¿ä¸ªè·¯å¾å å ¥ç¯å¢åéï¼ä½æ¯éåºè¿ä¸ªå½ä»¤è¡å°±å¤±æäºãè¦æ³æ°¸ä¹ çæï¼éè¦æè¿è¡æ·»å å°ç¯å¢åéæ件éãæ两个æ件å¯éï¼â/etc/profileâåç¨æ·ä¸»ç®å½ä¸çâ.bashprofileâï¼â/etc/profileâ对系ç»éææç¨æ·é½ææï¼ç¨æ·ä¸»ç®å½ä¸çâ.bashprofileâåªå¯¹è¿ä¸ªç¨æ·ææãexportPATH="
PATH:è·¯å¾1:è·¯å¾2:â¦:è·¯å¾n"ãï¼ï¼æææ¯å¯æ§è¡æ件çè·¯å¾å æ¬åå 设å®çè·¯å¾ï¼ä¹å æ¬ä»âè·¯å¾1âå°âè·¯å¾nâçææè·¯å¾ãå½ç¨æ·è¾å ¥ä¸ä¸ªä¸ä¸²å符并æå车åï¼shellä¼ä¾æ¬¡å¨è¿äºè·¯å¾éæ¾å¯¹åºçå¯æ§è¡æ件并交ç»ç³»ç»æ ¸å¿æ§è¡ãé£ä¸ªâ
âã
注æï¼ä¸DOS/Windowä¸åï¼UNIX类系ç»ç¯å¢åéä¸è·¯å¾åç¨åå·åéï¼ä¸æ¯åå·ãå¦å¤ï¼è½¯ä»¶è¶è£ è¶å¤ï¼ç¯å¢åéè¶æ·»è¶å¤ï¼ä¸ºäºé¿å é ææ··ä¹±ï¼å»ºè®®ææè¯å¥é½æ·»å å¨æ件ç»å°¾ï¼æ软件çå®è£ 顺åºæ·»å ã
æ¬æå·²åæ¥è³å客ç«ï¼
https://www.linuxrumen.com/cyml/859.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)