${PATH:+$PATH:} 在 bash 脚本中是什么意思?

${PATH:+$PATH:} 在 bash 脚本中是什么意思?

我正在检查一个包含类似以下内容的 bash 脚本:export PATH=${PATH:+$PATH:}/usr/bin 我假设它具有与相同的输出export PATH=$PATH:/usr/bin。我做了一个echo ${PATH:+$PATH:}它只输出 $PATH 的值加上一个 ':'。但如果我将其修改为 ${PSOMETHING:+$PATH:},它什么也不输出。

我的问题是使用 $PATH: 和 ${PATH:+$PATH:} 有什么不同?有什么好处?如何理解语法?

答案1

参数扩展man bash

${parameter:+word}

使用替代值。如果参数为空或未设置,则不替换任何内容,否则将替换单词的扩展。

相关内容