如何在bash中以更简洁的方式连接环境variablespath?

为了修改我的path(如LD_LIBRARY_PATH或PYTHONPATH),我首先检查是否存在variables。 如果是这样,我我的旧价值连接到新的(用分号分隔),否则我把我的variables设置为新的值。

NEW_PATH='/path/to/new/path' if [ $LD_LIBRARY_PATH ] then export LD_LIBRARY_PATH=$NEW_PATH:$LD_LIBRARY_PATH else export LD_LIBRARY_PATH=$NEW_PATH fi 

它可以工作,但是当你在脚本中有很多这样的代码来源时,它有点笨拙:是否有一个聪明的技巧来使这个块成为一个很好的单线程?

谢谢 !

这个语法工作:

 export LD_LIBRARY_PATH=$NEW_PATH${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} 

所以也许这不是你问的问题,而是你可以做到的:

 if [ -z "$LD_LIBRARY_PATH" ]; then export LD_LIBRARY_PATH=/some/sane/default fi 

…然后你知道它总是设置,所以你可以离开上面的else