Doesn't the test command check for exit codes / return codes???
Absolutamente não. Realiza o teste conforme definido pelo texto entre parênteses, cuja sintaxe pode ser visualizada via help test
.
if
em suas próprias verificações o código de retorno do comando executado.