Aşağıdaki örneğime benzer bir şey yapan standart bir Unix komutu var mı
$ <cmd here> 56
$ echo Return code was $?
Return code was 56
$
<cmd here>
çatalla çalıştırılabilen ve işlem çıktığında çıkış kodu olarak 56 bırakan bir şey olmalıdır. exit
Ve return
kabuk yerleşikleri ben bunun dışında çıkarak onlar çağıran kabuk kendisini etkilemez çünkü aradığım şey için uygun değildir. <some cmd>
kabuk dışı bağlamlarda uygulayabileceğim bir şey olmalı - örneğin, bir Python betiğinden çağırmak subprocess
.
Örneğin, /usr/bin/false
her zaman dönüş kodu 1 ile hemen çıkar, ancak bu dönüş kodunun ne olduğunu tam olarak kontrol etmek isterim. Kendi sarmalayıcı betiğimi yazarak aynı sonuçları elde edebilirim
$ cat my-wrapper-script.sh # i.e., <some cmd> = ./my-wrapper-script.sh
#!/usr/bin/bash
exit $1
$ ./my-wrapper-script.sh 56
$ echo $?
56
ama umarım orada benim için bunu yapabilen standart bir Unix komutu vardır.
(exit 56)
?
true
ve false
siz 0 veya 1 dönmek gerekirse yerleşik ins
exit
aklıma gelen tek şey, ama kabuğuna son verme eğiliminde.bash -c 'exit 56'
veyabash -c "exit $1"
sizin için çalışabilir.