Nasıl bir komut başarısız olursa çıkmak için?
Kabuk betik bir çaylak değilim. Eğer bir komut başarısız olursa, bir ileti, yazdırma ve senaryomu çıkmak istiyorum. Denedim :
my_command && (echo 'my_command failed; exit)
ama çalışmıyor. Komut dosyasında bu satırı aşağıdaki talimatları yürütmek tutar. Ubuntu ve bash kullanıyorum.
Teşekkürler.
CEVAP
Deneyin:
my_command || { echo 'my_command failed' ; exit 1; }
Dört değişiklikler:
||
&&
değiştirin( )
{ }
kullanın;
exit
sonra . tanıtmak}
önce{
sonra ve boşluk
Bu ileti, yazdırma ve tek komut başarısız exit ( çıkış sıfır olmayan değer) &&
||
gerekir.
cmd1 && cmd2
cmd1
cmd2
çalışır başarılı olur(çıkış değeri 0
). Nerede
cmd1 || cmd2
cmd1
başarısız cmd2
(çıkış değeri sıfır olmayan) çalıştırın.
( )
kullanarak içlerindeki bir komut çalıştırmak yaparalt kabukve oradan exit
bir alt-kabuk çıkmak için neden olur ve kabuk, dolayısıyla özgün yürütme aramadığım orijinal kabuğu ile devam ediyor.
Bunun üstesinden gelmek için kullanın. { }
Son iki değişiklik bash için gerekli.
Bash: eğer herhangi bir komut başarısı...
Nasıl olursa EĞER başarısız olursa, ye...
Nasıl PostgreSQL komut satırı yardımcı...
Nasıl komut çıkmak için beklemek zaman...
Nasıl komisyon bir görev için komut sa...