簡體   English   中英

Bash - 檢查存儲庫是否存在

[英]Bash - check if repository exists

我正在嘗試創建 if 語句,它將檢查名稱為 X 的存儲庫是否存在,如果不存在 => 創建它。

做了以下代碼。 它可以工作,但是當存儲庫不存在時,它會顯示錯誤。 我找不到在控制台中刪除該錯誤的任何方法。 讓我使用 &>/dev/null 的方式不正確......

 myStr=$(git ls-remote https://github.com/user/repository); if [ -z $myStr ] then echo "OMG IT WORKED" fi

一旦你完全沉默 git ls-remote我會建議檢查命令的退出代碼( $? )而不是它的輸出。

根據您的代碼,您可以以這種方式考慮一個函數:

check_repo_exists() {
    repoUrl="$1"
    myStr="$(git ls-remote -q "$repoUrl" &> /dev/null)";
    if [[ "$?" -eq 0 ]]
    then
        echo "REPO EXISTS"
    else
        echo "REPO DOES NOT EXIST"
    fi
}

check_repo_exists "https://github.com/kubernetes"
# REPO DOES NOT EXIST
check_repo_exists "https://github.com/kubernetes/kubectl"
# REPO EXISTS 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM