Builtin komutu exit
kabuktan çıkar ( Bash'in referansından ):
exit [n]
Kabuktan çıkın, kabuğun ebeveyne n durumu döndürülür. N belirtilmezse, çıkış durumu yürütülen son komutun durumudur. EXIT üzerindeki herhangi bir tuzak, kabuk sona ermeden önce gerçekleştirilir.
Dosyanın sonuna doğru koşmak da son komutun dönüş kodunu döndürerek çıkar, bu yüzden evet, final exit 0
komutları önceki komutların çıkış durumundan bağımsız olarak betiğin başarılı bir şekilde çıkmasını sağlar. (Bu, komut dosyasının exit
sonuna ulaştığını varsayar .) Bir komut dosyasının sonunda , sıfır kodlu bir çıkış kodu da kullanabilir true
ya da kullanabilirsiniz :
.
Elbette daha sık exit
içinde içerden bir if
senaryoyu ortada bitirmek için kullanırdın.
Bunlar 1 $?
yazmalıdır ( önceki komutun döndürdüğü çıkış kodunu içerir):
sh -c "false" ; echo $?
sh -c "false; exit" ; echo $?
Bu 0 yazdırması gerekirken:
sh -c "false; exit 0" ; echo $?
Bir komut yürütülürken "başarısız" komutunun bir exit
anlam ifade edip etmediğine emin değilim , çünkü bazı komutların başarısız olması için komut dosyası tarafından çalıştırılmış, ancak komut dosyasının kendisi başarılı olabilir. Neyin başarılı ve neyin olamayacağına karar vermek, senaryonun yazarına kalmıştır.
Ayrıca, çıkış kodları için standart aralık 0..255'tir. 127'nin üzerindeki kodlar, bir sinyal tarafından sonlandırılan bir işlemi belirtmek için kabuk tarafından kullanılır, ancak her zamanki şekilde geri döndürülebilirler. wait
Sistem çağrı aslında işletim sistemi tarafından belirlenen kalan ihtiva eden durum bit ile, daha geniş bir değer verir.
exit 0
, komut dosyasında ne olduğuna bakmaksızın 0 çıkış koduyla çıkar.