我正在嘗試創建 if 陳述句,它將檢查名稱為 X 的存盤庫是否存在,如果不存在 => 創建它。
做了以下代碼。它可以作業,但是當存盤庫不存在時,它會顯示錯誤。我找不到在控制臺中洗掉該錯誤的任何方法。讓我使用 &>/dev/null 的方式不正確......
myStr=$(git ls-remote https://github.com/user/repository);
if [ -z $myStr ]
then
echo "OMG IT WORKED"
fi
uj5u.com熱心網友回復:
一旦您完全使 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/474237.html
下一篇:bash腳本沒有寫入檔案
