我在 Windows 10 64bit 中安装了 gitbash,但我认为我要求的解决方案在 Linux Git 和 Win GitBash 中都可以使用。
我已经定义了BRNCH
变量来执行涉及当前分支的多个提交和合并操作,所以我声明了当前分支,如下所示:
BRNCH=`git branch --show-current`
现在我想从同一个当前分支变量中的分支名称中获取票证 ID(通常是分支名称的大写,丢弃任何版本,如-v1
, -v2
.... 并保持数字不变),我在下面尝试,但这不起作用:
echo ${BRNCH%-*^^}
所以例如。如果我拥有的分支名称是abc-123-v3
上面的代码,预计将执行多个字符串操作和 print ABC-123
,甚至不执行单个操作,但这有效并给了我abc-123
:
echo ${BRNCH%-*}
我对 Bash 编码不是很了解,所以我假设像嵌套大括号对之类的具有顺序优先级的东西(这可能是 Bash 和 GitBash 未来可能的增强 :))可能会起作用并应用它,但这也不起作用:
echo ${{BRNCH%-*}^^}
那么如何只用一行或最少的代码和步骤对 bash 变量进行多个字符串操作呢?