Başarısız olan dosyalarda komut dosyası çıkma


6

Mevcut şubeyi bagajda birleştirmek ve dışarı itmek için küçük bir komut dosyası kullanıyorum. Nosetest başarısız olursa betiği nasıl başarısız yapabilirim?

#!/bin/bash
git checkout $1
nosetests
git checkout master
git merge $1
git push
git checkout $1

Yanıtlar:


7

set -eKomutlardan herhangi biri başarısız olursa, betiğin çıkması için shebang satırından sonra ekle :

#!/bin/bash
set -e
git checkout $1
nosetests

Kimden help set:

-e Bir komut sıfır olmayan bir durumla çıkarsa derhal çıkın.


3

Aşağıdakileri deneyebilirsiniz.

#!/bin/bash
git checkout $1
nosetests || exit 1
git checkout master
git merge $1
git push
git checkout $1

||Dönüş kodunu kontrol eder nosetestsve komutu yerine getirecektir exit 1eğer sıfır ise.

Başka bir değişken olabilir.

#!/bin/bash
git checkout $1
if ! nosetests
then
    exit 1
fi
git checkout master
git merge $1
git push
git checkout $1
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.