Em shells derivados de Bourne ( sh , ash , bash , dash , zsh ...) o código de saída do programa de última execução está na variável $? :
$ ls /no-such-file
ls: /no-such-file: No such file or directory
$ echo $?
2
Portanto, neste caso, o código de saída de ls é 2.