繁体   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