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