tcsh相当于bash的unset-variable aware'+'参数替换命令?

时间:2017-04-11 16:16:48

标签: bash environment-variables tcsh

在bash中设置路径时,我被教导使用plus sign command备用值参数替换,以便对尚未设置变量的情况保持稳健。

export LD_LIBRARY_PATH="/new/libray/path/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"

这样,LD_LIBRARY_PATH环境变量设置为/new/libray/path/:$LD_LIBRARY_PATH如果已设置LD_LIBRARY_PATH,则/new/libray/path/如果不设置$PYTHONPATH。 (这在公共路径变量中不那么重要,但在处理特定于程序的路径变量时非常有用,例如LD_LIBRARY_PATH。)

不幸的是,我处于需要使用tcsh而不是bash的情况。在tcsh中有这个bash构造的一个很好的替代方案吗?也就是说,将/new/libray/path/:$LD_LIBRARY_PATH设置为的最佳方式是什么 LD_LIBRARY_PATH如果/new/libray/path/已设置,并将其设置为<div class="page-wrap"> Content! </div> <footer class="site-footer"> I'm the Sticky Footer. </footer> (如果没有出现错误),如果不是?

1 个答案:

答案 0 :(得分:2)

没有这样的功能。您必须使用if

测试变量的存在
if ( $?LD_LIBRARY_PATH ) then
    setenv LD_LIBRARY_PATH /new/libray/path/:$LD_LIBRARY_PATH
else
    setenv LD_LIBRARY_PATH /new/libray/path/
endif