如何在 bash 中以更清晰的方式连接环境变量路径?

如何在 bash 中以更清晰的方式连接环境变量路径?

为了修改我的路径(如 LD_LIBRARY_PATH 或 PYTHONPATH),我首先检查变量是否存在。如果存在,我连接我的旧值与新值(用分号分隔),否则我设置我的变量为新值。

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  

它可以工作,但是当脚本中有很多这样的内容时,它会有点笨拙:是否有一个巧妙的技巧可以使这个块成为一个很好的单行代码?

谢谢 !

答案1

此语法有效:

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

答案2

所以也许这并不完全是你要求的,但在顶部你可以这样做:

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

...然后您知道它始终被设置,因此您可以忽略else上述内容。

相关内容