我继承了一些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}