[英]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.