UNIX/Linux:使用set或者export命令设置PATH变量

时间:2020-01-09 10:45:52  来源:igfitidea点击:

如何在Linux和UNIX之类的操作系统下为$PATH变量添加新路径?
我的路径是什么,如何使用csh/tcsh或者bash/ksh/sh shell设置或者修改它?

PATH是环境变量。
这是用冒号分隔的目录列表,当您输入命令时,shell会其中搜索这些目录。
所有可执行文件都保存在Linux和Unix等操作系统上的不同目录中。

找出您当前的路径

要找出您当前的路径设置,请在shell提示符下执行以下命令。
打开终端,然后执行:

echo "$PATH"

或者

printf "%s\n" "$PATH"

输出示例:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/sbin/modemZapp:/Users/Hyman/gcutil-1.8.4

如何修改路径?

要修改路径,请根据您的shell编辑$PATH变量。
在UNIX/Linux下设置路径的语法取决于您的登录Shell。

Bash,Sh,Ksh Shell语法修改$PATH

如果使用的是bash,sh或者ksh,请在shell提示符下执行:

## please note 'PATH' is CASE sensitivity and must be in UPPERCASE ##
export PATH=$PATH:/path/to/dir1
export PATH=$PATH:/path/to/dir1:/path/to/dir2

或者

## please note 'PATH' is CASE sensitivity and must be in UPPERCASE ##
PATH=$PATH:/path/to/dir1; export PATH

请随时将/path/to/dir1替换为您要shell程序搜索的目录。

TCSH或者CSH Shell语法修改$PATH

如果您使用的是tcsh或者csh,则shell执行:

## please note 'path' is case sensitivity and must be in lowercase ##
set path = ($path /path/to/dir1)
set path = ($path /path/to/dir1 /path/to/dir2)

或者

## please note 'PATH' is CASE sensitivity and must be in UPPERCASE ##
setenv PATH $PATH:/path/to/dir1
setenv PATH $PATH:/path/to/dir1:/path/to/dir2

请随时将/path/to/dir1替换为您要shell程序搜索的目录。

例子

在此示例中,将/usr/local/bin添加到BASH/ksh/sh shell下的路径中,执行:

export PATH=$PATH:/usr/local/bin

或者

PATH=$PATH:/usr/local/bin; export PATH

要使这些更改永久生效,请将上述命令添加到sh和ksh shell的~/.profile文件的末尾,或者将bash shell的~/.bash_profile`文件添加至:

## BASH SHELL ##
echo 'export PATH=$PATH:/usr/local/bin'  >> ~/.bash_profile

KSH/sh Shell用户尝试:

## KSH / SH SHELL ##
echo 'export PATH=$PATH:/usr/local/bin'  >> ~/.profile

在这个最后的示例中,将/usr/local/bin /和/scripts/admin /添加到csh/tcsh shell下的路径中,执行:

set path = ($path /usr/local/bin /scripts/admin)

或者

setenv PATH $PATH:/usr/local/bin:/scripts/admin

要使这些更改永久生效,请将上述命令添加到~/.cshrc文件的末尾:

echo 'set path = ($path /usr/local/bin /scripts/admin)'  >> ~/.cshrc

或者

echo 'setenv PATH $PATH:/usr/local/bin:/scripts/admin'  >> ~/.cshrc

要验证新的路径设置,请执行:

$ echo $PATH