我在研究Linux。以下两个环境变量的出口报表之间有什么区别?
export PATH=/opt/rh/devtoolset-2/root/usr/bin${PATH:+:${PATH}}
export MANPATH=/opt/rh/devtoolset-2/root/usr/share/man:$MANPATH发布于 2014-01-13 11:36:22
语法${PATH:+:$PATH}的使用(用于扩展$PATH)处理$PATH为空(或未设置)的(病理)情况。在这种情况下,结果将是空的,否则将是:$PATH,确保扩展的结果要么是单独的/opt/rh/devtoolset-2/root/usr/bin (在病理病例中),要么是典型病例中的/opt/rh/devtoolset-2/root/usr/bin:$PATH。
$MANPATH的扩张并不能处理病理病例,因此,如果$MANPATH是空的或未设置的,结果将是/opt/rh/devtoolset-2/root/usr/share/man:,在末端含有一个游离结肠。
发布于 2014-01-13 11:24:42
在linux/unix中,PATH是标准环境变量,用于从任意点搜索所需的可执行文件和其他文件。因此,当输入命令时,shell会搜索。使用第一个command.To修改路径,它依赖于shell,如Bash、Sh、Ksh。
export PATH=/opt/rh/devtoolset-2/root/usr/bin${PATH:+:${PATH}}它将给定的路径附加到标准Linux路径。
而在第二次
export MANPATH=/opt/rh/devtoolset-2/root/usr/share/man:$MANPATH您可以创建自定义路径名(MANPATH)并将其导出,以便现在可以使用$MANPATH变量访问整个路径。
注意,上面的路径修改是临时的。对于永久的更改,您需要修改sh和ksh的~/.profile文件,或者修改bash shell的~/.bash_profile文件。
例如,在BASH中
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bash_profilehttps://stackoverflow.com/questions/21089547
复制相似问题