首页编程exportpath?linux中export PATH是什么意思

exportpath?linux中export PATH是什么意思

编程之家2023-11-03129次浏览

大家好,感谢邀请,今天来为大家分享一下exportpath的问题,以及和linux中export PATH是什么意思的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

exportpath?linux中export PATH是什么意思

linux中export PATH是什么意思

题主你好,

export PATH是用来给环境变量PATH赋值的,而PATH理论上来说存放的是由冒号分隔的一系列路径:

而PATH这个变量的作用通常是提供搜索路径,这么说不直观,举个例子来说吧:

我们可以在命令行中直接使用find命令进行文件的查找,但你有没有想过,为啥你可以直接使用find命令呢?

原因一,肯定find这个可执行文件要存在于linux中;

原因二,我们还要将find可执行文件的路径添加到PATH中;

exportpath?linux中export PATH是什么意思

也就是说我们每次在黑乎乎的命令行中输入命令时,它都会去PATH中指定的一系列路径下去找,如果找到就按步就班的执行,如果没找到就会报错.

-----

举个更现实一点的例子,比如说我自己写了一个脚本名叫hi,内容为:

我是直接在家目录下新建的这个脚本,

此时我执行"hi friend",看看有什么情况发生:

它会告诉你,hi这个命令没找到,原因是PATH这个环境变量里的路径,不包含我的家目录,因此它找不到.

exportpath?linux中export PATH是什么意思

下面我们将家目录放到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”和用户主目录下的“.bashp​rofile”,“/etc/profile”对系统里所有用户都有效,用户主目录下的“.bashp​rofile”只对这个用户有效。exportPATH="

PATH:路径1:路径2:…:路径n"),意思是可执行文件的路径包括原先设定的路径,也包括从“路径1”到“路径n”的所有路径。当用户输入一个一串字符并按回车后,shell会依次在这些路径里找对应的可执行文件并交给系统核心执行。那个“

”。

注意,与DOS/Window不同,UNIX类系统环境变量中路径名用冒号分隔,不是分号。另外,软件越装越多,环境变量越添越多,为了避免造成混乱,建议所有语句都添加在文件结尾,按软件的安装顺序添加。

本文已同步至博客站:

https://www.linuxrumen.com/cyml/859.html

在Linux里设置环境变量的方法(export PATH)

比如要把/etc/apache/bin目录添加到PATH中,方法有三:

1.#PATH=$PATH:/etc/apache/bin

使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH设置就会失效

2.#vi/etc/profile

在适当位置添加 PATH=$PATH:/etc/apache/bin(注意:=即等号两边不能有任何空格)

这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变

3.#vi~/.bash_profile

修改PATH行,把/etc/apache/bin添加进去

这种方法是针对用户起作用的

注意:想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:

如果修改了/etc/profile,那么编辑结束后执行source profile(source/etc/profile)或执行点命令./profile,PATH的值就会立即生效了。

这个方法的原理就是再执行一次/etc/profile shell脚本,注意如果用sh/etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变。

这样你就学会Linux系统下修改环境变量PATH路径的方法。

补充说明

工作环境设置文件

环境设置文件有两种:系统环境设置文件和个人环境设置文件

1.系统中的用户工作环境设置文件:

登录环境设置文件:/etc/profile 

 非登录环境设置文件:/etc/bashrc

2.用户个人设置的环境设置文件:

 登录环境设置文件:$HOME/.bash_profile //这个是环境变量设置的地方

 非登录环境设置文件:$HOME/.bashrc   //这个是定义别名的地方

登录环境:指用户登录系统后的工作环境

非登录环境:指用户再调用子shell时所使用的用户环境

非常感谢您的阅读!我们希望本文对于解决您关于exportpath和linux中export PATH是什么意思的问题提供了一些有价值的信息。如果您还有其他疑问,我们将很乐意为您提供进一步的帮助。

做网站需要多少钱(网站建设需要多少钱)加入收藏代码 设为首页,加入收藏html代码