【发布时间】:2013-03-19 20:45:14
【问题描述】:
我正在尝试为msysgit 添加一个函数到我的bash_profile:
function git-unpushed {
brinfo=$(git branch -v | grep git-branch-name)
if [[ $brinfo =~ ("[ahead "([[:digit:]]*)]) ]]
then
echo "(${BASH_REMATCH[2]})"
fi
}
但我收到以下错误:
bash:需要条件二元运算符`
bash:
=~'附近的语法错误
据我所知,“等于波浪号”运算符 (=~) 在 bash 中计算为正则表达式。
为什么=~ 会抛出错误?
更新:这是手动输入的截图(这是运行 sh.exe):
【问题讨论】:
-
不需要引用或将正则表达式放在括号内,只需使用例如
[[ $line =~ ^$ ]] -
很好,你shebang是什么样子的?
/bin/sh是什么符号链接? -
@FredrikPihl:因为这是在
bash_profile,我怀疑是否有shebang。 -
我已经更新了我的answer below:现在,Windows 的 git 可以很好地使用这种语法。
标签: msysgit windows bash msysgit