What is “a non-zero value”?
$! ($ERRNO) if set
$? >> 8 ($CHILD_ERROR) if set
255 otherwise