Neden çıkış kodlarını kullanmıyorsunuz? Geçerli dizinde bir git deposu varsa git branch
ve git tag
komutlar 0 çıkış kodunu döndürür; Aksi takdirde, sıfırdan farklı bir çıkış kodu döndürülür. Bu şekilde bir git deposunun olup olmadığını belirleyebilirsiniz. Basitçe, şunları çalıştırabilirsiniz:
git tag > /dev/null 2>&1 && [ $? -eq 0 ]
Avantajı : Flexibe. Hem çıplak hem de çıplak olmayan depolar için ve sh, zsh ve bash'da çalışır.
açıklama
git tag
: Var olup olmadığını belirlemek için havuzun etiketlerini alma.
> /dev/null 2>&1
: Normal ve hata çıktıları da dahil olmak üzere her şeyi yazdırmamak.
[ $? -eq 0 ]
: Önceki komutun çıkış kodu 0 ile dönüp dönmediğini kontrol edin. Bildiğiniz gibi, sıfır olmayan her çıkış kötü bir şey olduğu anlamına gelir. $?
Bir önceki komutun çıkış kodu alır ve [
, -eq
ve ]
karşılaştırma yapmak.
Örnek olarak, check-git-repo
aşağıdaki içeriklerle bir dosya oluşturabilir , yürütülebilir hale getirebilir ve çalıştırabilirsiniz:
#!/bin/sh
if git tag > /dev/null 2>&1 && [ $? -eq 0 ]; then
echo "Repository exists!";
else
echo "No repository here.";
fi