2016-10-03 7 views
1

Gitの最新バージョンをhttp://git-scm.comから削除しようとしていますが、下のスクリプトは何も印刷していないようです...BashのGitの最新バージョンですか?

私はここで何が欠けていますか?働いていない。また

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

を::

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

答えて

4

問題はhttp://git-scm.com/https://git-scm.com/にリダイレクトされ、そしてcurlはデフォルトでリダイレクトに従わないということです。

https://git-scm.com/から直接取り出してみてください。

またはcurlコマンドに-Lオプションを追加して、リダイレクトに従うようにします。

関連する問題