有没有办法将$PATH
中的csh
设置为我可以更改的另一个环境变量?
例如,假设我将$APPDIR
放在我的路径中:
setenv APPDIR "/home/user/version1/bin"
但后来我将$APPDIR
更改为其他内容:
setenv APPDIR "/home/user/version2/bin"
有没有办法将$APPDIR
放在$PATH
而不扩展变量,以便在我更改$APPDIR
时,我不必还更新$PATH
?
答案 0 :(得分:0)
没有办法做到这一点。您将字符串分配给$PATH
,无法动态插入将在获取值时进行评估的内容。
事实上,这样做可能被视为一个安全问题,这几乎是最近的bash" shell shock"漏洞就是这样; - )
您可以做的是cshrc
或tcshrc
:
if ( ! $?APPDIR ) setenv APPDIR 'default-appdir'
setenv PATH "${PATH}:${APPDIR}"
只有在$APPDIR
为空时,才会将default-appdir
设置为$APPDIR
;如果您现在更改setenv APPDIR new-appdir
的值:
source ~/.tcshrc
并使用以下命令重新加载配置
$PATH
{{1}}的值将会更新。