我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

linux命令设置变量 命令行设置变量

Linux-配置环境变量

1、系统位置,/etc目录下的bashrc、profile、environment三个文件

创新互联专注于五河企业网站建设,响应式网站,商城网站建设。五河网站建设公司,为五河等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

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为系统环境配置文件,需要管理员权限或者对该文件的写入权限,修改后,作用于系统下所有用户的环境变量。

linux非root权限配置环境变量

Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:

1 永久的:需要修改配置文件,变量永久生效。

2 临时的:使用export命令声明即可,变量在关闭shell时失效。

设置变量的三种方法

1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】

用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

例如:编辑/etc/profile文件,添加CLASSPATH变量

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

例如:编辑guok用户目录(/home/guok)下的.bash_profile

命令用法如下

$ cd (进入用户登陆目录)

$ls –al .bash_profile(.bash_profile为隐藏文件,因此要用ls –a命令查找)

$vi .bash_profile(用vi编辑.bash_profile)

vi/home/guok/.bash.profile添加如下内容:exportCLASSPATH=./JAVAHOME/lib;JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。

3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

在shell的命令行下直接使用[export 变量名=变量值] 定义变量,

该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,

shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

环境变量的查看

1 使用echo命令查看单个环境变量。例如:

echo $PATH

2 使用env查看所有环境变量。例如:

env

3 使用set查看所有本地定义的环境变量。

使用unset删除指定的环境变量

set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

export TEST="Test..." #增加一个环境变量TEST env|grep TEST #此命令有输入,证明环境变量TEST已经存在了

TEST=Test...

unset TEST #删除环境变量TEST

$ env|grep TEST #此命令没有输出,证明环境变量TEST已经删除

常用的环境变量

PATH 决定了shell将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE 历史记录数

LOGNAME 当前用户的登录名

HOSTNAME 指主机的名称

SHELL 当前用户Shell类型

LANGUGE  语言相关的环境变量,多语言可以修改此环境变量

MAIL 当前用户的邮件存放目录

PS1 基本提示符,对于root用户是#,对于普通用户是$

Linux下设置和查看环境变量

Linux下修改.bash_profile 文件改变PATH变量的值

Linux怎么设置系统环境变量之export命令详解

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=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32: .tar=01;31: .tgz=01;31: .arc=01;31: .arj=01;31: .taz=01;31: .lha=01;31: .lz4=01;31: .lzh=01;31: .lzma=01;31: .tlz=01;31: .txz=01;31: .tzo=01;31: .t7z=01;31: .zip=01;31: .z=01;31: .Z=01;31: .dz=01;31: .gz=01;31: .lrz=01;31: .lz=01;31: .lzo=01;31: .xz=01;31: .bz2=01;31: .bz=01;31: .tbz=01;31: .tbz2=01;31: .tz=01;31: .deb=01;31: .rpm=01;31: .jar=01;31: .war=01;31: .ear=01;31: .sar=01;31: .rar=01;31: .alz=01;31: .ace=01;31: .zoo=01;31: .cpio=01;31: .7z=01;31: .rz=01;31: .cab=01;31: .jpg=01;35: .jpeg=01;35: .gif=01;35: .bmp=01;35: .pbm=01;35: .pgm=01;35: .ppm=01;35: .tga=01;35: .xbm=01;35: .xpm=01;35: .tif=01;35: .tiff=01;35: .png=01;35: .svg=01;35: .svgz=01;35: .mng=01;35: .pcx=01;35: .mov=01;35: .mpg=01;35: .mpeg=01;35: .m2v=01;35: .mkv=01;35: .webm=01;35: .ogm=01;35: .mp4=01;35: .m4v=01;35: .mp4v=01;35: .vob=01;35: .qt=01;35: .nuv=01;35: .wmv=01;35: .asf=01;35: .rm=01;35: .rmvb=01;35: .flc=01;35: .avi=01;35: .fli=01;35: .flv=01;35: .gl=01;35: .dl=01;35: .xcf=01;35: .xwd=01;35: .yuv=01;35: .cgm=01;35: .emf=01;35: .axv=01;35: .anx=01;35: .ogv=01;35: .ogx=01;35: .aac=01;36: .au=01;36: .flac=01;36: .mid=01;36: .midi=01;36: .mka=01;36: .mp3=01;36: .mpc=01;36: .ogg=01;36: .ra=01;36: .wav=01;36: .axa=01;36: .oga=01;36: .spx=01;36:*.xspf=01;36:"

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类系统环境变量中路径名用冒号分隔,不是分号。另外,软件越装越多,环境变量越添越多,为了避免造成混乱,建议所有语句都添加在文件结尾,按软件的安装顺序添加。

本文已同步至博客站:

Linux环境变量PATH设置

/etc/profile和/etc/bashrc都是系统级别的,修改后可以在所有用户中起作用; /.bash_profile、 /.bashrc和~/.bash_logout都是用户级别的,修改后只会作用于当前用户。

带profile的文件都是需要重新进入用户时才会生效,带bashrc的则是打开新的shell时生效;

执行顺序:/etc/profile - (~/.bash_profile | ~/.bash_login | ~/.profile) - ~/.bashrc - /etc/bashrc - ~/.bash_logout

$ echo $HOME

$ export HELLO="Hello"

$ env

¥ set

readonly TEST

之前介绍的使用 export 命令设置环境变量是在命令行中直接执行,这样设置的环境变量在退出shell时就会失效。要想设置永久有效的环境变量就需要修改之前提到的文件。

PATH=$PATH:PATH 1:PATH 2:PATH 3:------:PATH N

你可以自己加上指定的路径,中间用冒号隔开

需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。

特点:所有用户;永久有效;生效需要重新进入用户

root权限:

要想修改完文件后就立即生效,可以在命令行中执行:

# source /etc/profile

Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录


网站题目:linux命令设置变量 命令行设置变量
文章路径:http://mswzjz.cn/article/doohjco.html

其他资讯