string – 变量替换中的Bash冒号运算符?

前端之家收集整理的这篇文章主要介绍了string – 变量替换中的Bash冒号运算符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我继承了一些bash代码,这两行让我感到困惑:
branch_name=`git describe --contains --all HEAD`
branch_name=${branch_name:-HEAD}

我对:冒号运算符的理解是基于索引创建子串,因此在这种情况下使用字符串-HEAD没有任何意义。

这将采用变量branch_name(如果已定义)。如果未定义,请改用HEAD。

有关详情,请参见Shell Parameter Expansion

子串包括在下面几行。两者之间的区别是

${parameter:-word}

VS

${parameter:offset}
${parameter:offset:length}

猜你在找的Bash相关文章