Deneyin:
my_command || { echo 'my_command failed' ; exit 1; }
Dört değişiklik:
- Değişim
&&için||
- Kullanım
{ }yerine( )
;Sonra tanıtmak exitve
- sonrası
{ve sonrası boşluklar}
İletiyi yazdırmak ve yalnızca komut başarısız olduğunda (sıfırdan farklı bir değerle çıkar) çıkmak istediğinizden ||bir &&.
cmd1 && cmd2
başarılı cmd2olduğunda çalışır cmd1(çıkış değeri 0). Buna karşılık
cmd1 || cmd2
çalışacaktır cmd2zaman cmd1(çıkış değeri sıfır olmayan) başarısız olur.
Kullanma ( ), içindeki komutu alt kabukta çalıştırır ve birexit oradan , orijinal kabuğunuzdan değil, alt kabuktan çıkmanıza neden olur, bu nedenle yürütme orijinal kabuğunuzda devam eder.
Bu kullanımın üstesinden gelmek için { }
Son iki değişiklik bash tarafından gereklidir.