如何以最少的步骤对 Bash 变量执行多个字符串操作?
How to perform multiple string operations on Bash variable with least steps?
我在 Windows 10 64 位中安装了 gitbash,但我认为我要求的解决方案在 Linux Git 和赢 GitBash.
我已经定义了 BRNCH
变量来执行涉及当前分支的多个提交和合并操作,所以我声明了如下所示的当前分支:
BRNCH=`git branch --show-current`
现在我想获取票证 ID(通常是分支名称的大写字母,丢弃任何版本,如 -v1
、-v2
....并保留 digit s 原样)来自同一个当前分支变量中的分支名称,我正在下面尝试,但这不起作用:
echo ${BRNCH%-*^^}
例如。如果我的分支名称是 abc-123-v3
上面的代码预计将执行多个字符串操作并打印 ABC-123
,甚至不执行单个操作,但这有效并给了我 abc-123
:
echo ${BRNCH%-*}
我对 Bash 编码不是很了解,所以我假设了类似 具有顺序优先级的嵌套大括号对 (这可能是未来 Bash 和 GitBash :)) 可能会起作用并应用它,但这也不起作用:
echo ${{BRNCH%-*}^^}
那么如何使用 一行或最少的代码行和步骤 对 bash 变量执行多个字符串操作?
So for eg. if the branch name I have is abc-123-v3
the above code which is expected to perform multiple string operations and print ABC-123
怎么了
v=${BRNCH%-*}
echo ${v^^}
?
你可以隐藏温度,省去以后的麻烦,
ticketfor() { local v=${1%-*}; echo ${v^^}; }
ticketfor $BRNCH
我在 Windows 10 64 位中安装了 gitbash,但我认为我要求的解决方案在 Linux Git 和赢 GitBash.
我已经定义了 BRNCH
变量来执行涉及当前分支的多个提交和合并操作,所以我声明了如下所示的当前分支:
BRNCH=`git branch --show-current`
现在我想获取票证 ID(通常是分支名称的大写字母,丢弃任何版本,如 -v1
、-v2
....并保留 digit s 原样)来自同一个当前分支变量中的分支名称,我正在下面尝试,但这不起作用:
echo ${BRNCH%-*^^}
例如。如果我的分支名称是 abc-123-v3
上面的代码预计将执行多个字符串操作并打印 ABC-123
,甚至不执行单个操作,但这有效并给了我 abc-123
:
echo ${BRNCH%-*}
我对 Bash 编码不是很了解,所以我假设了类似 具有顺序优先级的嵌套大括号对 (这可能是未来 Bash 和 GitBash :)) 可能会起作用并应用它,但这也不起作用:
echo ${{BRNCH%-*}^^}
那么如何使用 一行或最少的代码行和步骤 对 bash 变量执行多个字符串操作?
So for eg. if the branch name I have is
abc-123-v3
the above code which is expected to perform multiple string operations and printABC-123
怎么了
v=${BRNCH%-*}
echo ${v^^}
?
你可以隐藏温度,省去以后的麻烦,
ticketfor() { local v=${1%-*}; echo ${v^^}; }
ticketfor $BRNCH