Если да, в какой операционной системе, оболочке или где-либо еще?
Рассмотрим следующую Java-программу (в качестве примера я использую java, для этого вопроса подойдет любой язык, который больше относится к операционным системам):
public class ExitCode {
public static void main(String args[]) {
System.exit(Integer.parseInt(args[0]));
}
}
При запуске в Linux и bash он всегда возвращает значения менее равные 255, например (echo $?
печатает код выхода предыдущей выполненной команды)
> java ExitCode 2; echo $?
2
> java ExitCode 128; echo $?
128
> java ExitCode 255; echo $?
255
> java ExitCode 256; echo $?
0
> java ExitCode 65536; echo $?
0
РЕДАКТИРОВАНИЕ: (пока что) ответ ниже полностью объясняет, что происходит в UNIX. Я все еще задаюсь вопросом о других ОС.