Bash 设置时如何在shell中智能追加LD_LIBRARY_路径
在下面的shell中,如果未设置LD\u LIBRARY\u路径,则错误显示LD\u LIBRARY\u PATH:unbound variable 我可以使用类似的用法${xxx:-yyy}来简化它吗Bash 设置时如何在shell中智能追加LD_LIBRARY_路径,bash,shell,Bash,Shell,在下面的shell中,如果未设置LD\u LIBRARY\u路径,则错误显示LD\u LIBRARY\u PATH:unbound variable 我可以使用类似的用法${xxx:-yyy}来简化它吗 #!/bin/bash set -o nounset export LD_LIBRARY_PATH=/mypath:$LD_LIBRARY_PATH 您可以使用以下构造: export LD_LIBRARY_PATH=/mypath${LD_LIBRARY_PATH:+:$LD_LIBRARY
#!/bin/bash
set -o nounset
export LD_LIBRARY_PATH=/mypath:$LD_LIBRARY_PATH
您可以使用以下构造:
export LD_LIBRARY_PATH=/mypath${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
说明:
- 如果未设置
,则LD\u LIBRARY\u PATH
在不计算${LD\u LIBRARY\u PATH:+:$LD\u LIBRARY\u PATH}
的情况下展开为零,因此结果相当于$LD\u LIBRARY\u PATH
,并且不会引发错误导出LD\u LIBRARY\u PATH=/mypath
- 如果已经设置了
,则LD\u LIBRARY\u PATH
扩展为${LD\u LIBRARY\u PATH:+:$LD\u LIBRARY\u PATH}
,因此结果相当于:$LD\u LIBRARY\u PATH
导出LD\u LIBRARY\u PATH=/mypath:$LD\u LIBRARY\u PATH
$PATH
或$LD\u LIBRARY\u PATH
时,两个相邻冒号或尾随/前导冒号计数是一种重要的安全做法。另见: