最新版本的Git in Bash?

时间:2016-10-03 02:36:56

标签: git bash shell install

尝试从http://git-scm.com获取最新版本的Git,但下面的脚本似乎没有打印出来......

我在这里缺少什么?

if [ -z "$CURRENT_GIT_VERSION" ]; then
    if [ "`uname`" == "Darwin" ]; then 
        sed_regexp="-E"; 
    else 
        sed_regexp="-r"; 
    fi
    CURRENT_GIT_VERSION=$(curl http://git-scm.com/ 2>&1 | grep '<span class="version">' -A 1 | tail -n 1 | sed $sed_regexp 's/ *//')
fi
echo "$CURRENT_GIT_VERSION"

不工作:

CURRENT_GIT_VERSION=$(curl -silent http://git-scm.com/ | sed -n '/id="ver"/ s/.*v\([0-9].*\)<.*/\1/p')
echo "$CURRENT_GIT_VERSION"

也不行:

CURRENT_GIT_VERSION=$(echo $(curl -s http://git-scm.com/ | grep 'class="version"' -A 2) | perl -pe 's/.*?([0-9\.]+).*/$1/')
echo "$CURRENT_GIT_VERSION"

1 个答案:

答案 0 :(得分:4)

问题是http://git-scm.com/重定向到https://git-scm.com/,而curl默认不遵循重定向。

尝试直接从https://git-scm.com/抓取。

或者,在-L命令中添加curl选项,以使其遵循重定向。