当前位置: 首页 > Linux

Linux环境变量配置指南

时间:2023-04-07 00:34:59 Linux

Linux环境变量配置在自定义安装软件的时候,往往需要配置环境变量。下面列出了环境变量的各种配置方法。以下所有示例环境说明如下:系统:Ubuntu14.0用户名:uusama需要配置MySQL环境变量路径:/home/uusama/mysql/binLinux读取环境变量读取环境变量方法:export命令显示所有当前系统定义的环境变量echo$PATH命令输出当前PATH环境变量的值。这两条命令的作用如下:uusama@ubuntu:~$exportdeclare-xHOME="/home/uusama"declare-xLANG="en_US.UTF-8"declare-xLANGUAGE="en_US:"declare-xLESSCLOSE="/usr/bin/lesspipe%s%s"declare-xLESSOPEN="|/usr/bin/lesspipe%s"declare-xLOGNAME="uusama"declare-xMAIL="/var/mail/uusama"declare-xPATH="/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"declare-xSSH_TTY="/dev/pts/0"declare-xTERM="xterm"declare-xUSER="uusama"uusama@ubuntu:~$echo$PATH/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/在bin中,PATH变量定义了搜索路径运行命令,以冒号分隔:,使用导出定义时可以添加或不添加双引号。Linux环境变量配置方法一:exportPATH使用export命令直接修改PATH的值,配置MySQL进入环境变量方法:exportPATH=/home/uusama/mysql/bin:$PATH#或者把PATH放在frontexportPATH=$PATH:/home/uusama/mysql/bin注意事项:生效时间:立即生效时间:对当前终端有效,关闭窗口后无效有效范围:只对当前用户有效不要忘记在配置好的环境变量中加入原来的Configuration,即$PATH部分,避免Linux环境变量原来的配置被覆盖配置方式二:vim~/.bashrc通过修改用户目录下的~/.bashrc文件进行配置:vim~/.bashrc#在最后一行添加exportPATH=$PATH:/home/uusama/mysql/bin注意:生效时间:同一用户打开新终端时生效,或者手动source~/.bashrc有效期:永久有效有效范围:只对当前用户有效如果后续有环境变量加载文件覆盖了PATH定义,可能不会生效Linux环境变量配置方法三:vim~/.bash_profile类似修改~/.bashrc文件,并且需要在文件末尾添加一个新路径:vim~/.bash_profile#添加exportPATH=$PATH:/home/uusama/mysql/bin到最后一行。注:生效时间:同一用户打开新终端时生效,或者手动source~/.bash_profile生效时间:永久生效生效范围:只对当前用户有效如果没有~/.bash_profile文件,你可以编辑~/.profile文件或者新建Linux环境变量配置方法四:vim/etc/bashrc这种方法是修改系统配置需要管理员权限(比如root)或者对文件的写权限:#如果/etc/bashrc文件不可编辑,需要编辑chmod-vu+w/etc/bashrcvim/etc/bashrc#在最后一行添加exportPATH=$PATH:/home/uusama/mysql/bin注释:生效时间:新开终端生效,或者手动源/etc/bashrc生效生效时间:永久生效有效范围:对所有用户有效Linux环境变量配置方法五:vim/etc/profile该方法修改系统配置,需要管理员权限或对该文件有写权限,类似于vim/etc/bashrc:#if/etc/profile文件不可编辑,需要修改为可编辑chmod-vu+w/etc/profilevim/etc/profile#最后一行添加exportPATH=$PATH:/home/uusama/mysql/bin注意:生效时间:new打开终端生效,或者手动source/etc/profile生效。有效期:永久有效有效范围:对所有用户有效Linux环境变量配置方法六:vim/etc/environment``该方法是修改系统环境配置文件,需要管理员权限或对文件的写权限:#if/etc/bashrc文件不可编辑,需要编辑chmod-vu+w/etc/environmentvim/etc/profile#在最后一行添加exportPATH=$PATH:/home/uusama/mysql/bin注释:生效时间:新开终端生效,或者手动source/etc/environment生效时间:永久生效生效范围:对所有用户生效上面列举的linux环境变量加载原理分析环境变量的各种配置方式,那么linux是如何加载这些的配置?它们以什么顺序加载?特定的加载顺序会导致同名环境变量的定义被覆盖或不生效。环境变量的分类可以简单分为用户自定义环境变量和系统级环境变量。用户级环境变量定义文件:~/.bashrc、~/.profile(部分系统:~/.bash_profile)系统级环境变量定义文件:/etc/bashrc、/etc/profile(部分系统:/etc/bash_profile),/etc/environment另外,在用户环境变量中,系统会先读取~/.bash_profile(或~/.profile)文件,如果没有这个文件,则会读取~/.bash_login,然后去阅读~/.bashrc。测试Linux环境变量加载顺序的方法为了测试环境变量在不同文件中的加载顺序,我们在每个环境变量定义文件的第一行定义了相同的环境变量UU_ORDER,这个变量的值为自己的价值。当前文件名。需要修改的文件如下:/etc/environment/etc/profile/etc/profile.d/test.sh,新建一个文件,没有文件夹就跳过/etc/bashrc,或者/etc/bash.bashrc~/.bash_profile或~/.profile~/.bashrc在每个文件的第一行添加如下代码,对应的将冒号后的内容改为当前文件的绝对文件名。exportUU_ORDER="$UU_ORDER:~/.bash_profile"修改后保存,新开一个窗口,然后echo$UU_ORDER观察变量值:uusama@ubuntu:~$echo$UU_ORDER$UU_ORDER:/etc/environment:/etc/profile:/etc/bash.bashrc:/etc/profile.d/test.sh:~/.profile:~/.bashrc可以推断出Linux加载环境变量的顺序如下:/etc/environment/etc/profile/etc/bash.bashrc/etc/profile.d/test.sh~/.profile~/.bashrcLinux环境变量文件加载详解从上面的测试可以很容易得出结论:Linux加载环境变量的顺序如下:系统环境变量->用户自定义环境变量/etc/environment->/etc/profile->~/.profile打开/etc/profile文件,会发现/etc/bash.bashrc文件会在文件的代码中加载,然后查看/etc/profile.d/目录下的.sh文件并加载。#/etc/profile:Bourneshell(sh(1))#和Bourne兼容shell(bash(1)、ksh(1)、ash(1)、...)的系统范围.profile文件。if["$PS1"];然后if["$BASH"]&&["$BASH"!="/bin/sh"];then#文件bash.bashrc已经设置了默认的PS1。#PS1='\h:\w\$'if[-f/etc/bash.bashrc];然后。/etc/bash.bashrcfielseif["`id-u`"-eq0];然后PS1='#'elsePS1='$'fififiif[-d/etc/profile.d];然后在/etc/profile.d/*.sh中为我;如果[-r$i]做;然后。$ifidoneunsetifi接着打开~/.profile文件,你会发现文件中加载了~/.bashrc文件。#如果运行bashif[-n"$BASH_VERSION"];然后#include.bashrc如果它存在if[-f"$HOME/.bashrc"];然后。"$HOME/.bashrc"fifi#setPATHsoitincludesuser'sprivatebindirectoriesPATH="$HOME/bin:$HOME/.local/bin:$PATH"从~/.profile中不难找到代码文件。/.profile文件只在用户登录时被读取一次,而/.bashrc文件会在每次运行shell脚本时被读取。有些技巧可以自定义一个环境变量文件,比如在某个项目下定义uusama.profile,使用export在这个文件中定义一系列的变量,然后在~/.profile文件后面加上:sourcuusama.profile,这样你可以在每次登录的时候在Shell脚本中使用自己定义的一系列变量。也可以使用alias命令为一些命令定义别名,比如aliasrm="rm-i"(需要双引号),并将这段代码添加到~/.profile中,这样每次使用rm命令的时候,就相当的使用rm-i命令了,非常方便。以上就是良序教程网为各位小伙伴们分享的Linux相关知识。