赞
踩
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
PATH="/usr/bin:/usr/sbin:/bin:/sbin:/opt/sbin:/opt/python3/bin:/opt/curl"
LY的环境变量配了两个里面还有重复,我有点懵逼啊,不懂有什么区别。。。。
解答:
不用export设置的环境变量仅对当前shell起作用,不会传导到子进程。export设置的环境变量在子进程也有效。
参考文章:linux环境变量/etc/profile文件里的PATH前面加export和不加有什么区别? - 知乎
那么是最好用带export的?我有点懵逼。。。
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
和PATH="/bin:/sbin:/usr/bin:/usr/sbin"
命令有什么区别?这两个命令实际上是等价的,都是将PATH环境变量设置为包含了/bin、/sbin、/usr/bin、/usr/sbin这四个目录。
第一个命令是将PATH变量设置为一个新的字符串,该字符串包含了四个目录,其中每个目录之间用冒号(:)分隔。这是一种常见的在命令行中设置环境变量的方式。
而第二个命令则是将PATH变量设置为一个已经存在的字符串。如果在执行该命令之前,PATH已经被设置为其他的值,那么该命令会将其覆盖。如果PATH没有被设置为其他的值,则该命令相当于将PATH设置为包含了四个目录的默认值。
这两个命令在结果上是一样的,只是设置方式略有不同。
在Linux和Unix中,每个进程都有自己的环境变量。当在一个shell中设置一个环境变量时,该变量只会在当前shell中生效,而不会在其它shell或其它进程中生效。
当你使用PATH=…的方式设置PATH环境变量时,该变量只会在当前shell中生效,如果你在该shell中执行一个新的子进程,那么子进程将不会继承该环境变量。而如果你使用export PATH=…的方式设置环境变量,那么该变量将会被导出到当前shell的环境中,并且会在当前shell中执行的所有子进程中继承该环境变量。
换句话说,使用export PATH=…的方式可以确保该环境变量在当前shell和所有其它通过该shell执行的子进程中生效,而不仅仅是在当前shell中生效。因此,在需要将一个环境变量导出到整个系统范围内时,应该使用export命令。
一般都是export PATH=/usr/local/mongodb/bin:$PATH
之类
export PATH=/usr/local/mongodb/bin:$PATH
和export PATH=$PATH:/usr/local/mongodb/bin
有什么区别?这两个命令都是用来将MongoDB的可执行文件路径添加到系统的环境变量中,以便在终端中可以直接使用MongoDB命令。
区别在于:
export PATH=/usr/local/mongodb/bin:$PATH
将MongoDB的可执行文件路径添加到环境变量PATH的最前面,这样系统会优先在该路径下查找可执行文件,如果找到了就直接执行,否则再去其他路径下查找。export PATH=$PATH:/usr/local/mongodb/bin
将MongoDB的可执行文件路径添加到环境变量PATH的最后面,这样系统会先在其他路径下查找可执行文件,如果找不到才会去该路径下查找。一般来说,将MongoDB的可执行文件路径添加到PATH的最前面可以让系统更快地找到MongoDB的可执行文件,但是如果系统中已经存在同名的可执行文件,可能会导致冲突。将MongoDB的可执行文件路径添加到PATH的最后面则可以避免这种冲突,但是可能会稍微慢一些。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。