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}

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...