Здесь есть две взаимосвязанные концепции: состояние выхода C и код возврата bash.Они оба охватывают диапазон 0-255, но bash использует числа выше 126 для своих собственных целей, поэтому было бы затруднительно возвращать их из вашей программы.
На всякий случай ограничьте коды состояния выхода 0-127,поскольку это наиболее переносимо, по крайней мере, это подразумевается http://docs.python.org/library/sys.html#sys.exit.
Состояние выхода C помещается в bash $?переменная после выполнения, но bash использует 127 для обозначения «команда не найдена», так что вы можете избежать этого. Справочная страница Bash .
Bash также использует 128-255 для сигналов - они указывают, что процесс был прерван сигналом: exit code = 128 + signal number
.Таким образом, вам, возможно, удастся избежать использования чисел, близких к 255. Поскольку маловероятно, что номера сигналов будут такими высокими.
Помимо этих общих ориентиров существует множество попыток определить, что должны означать различные числа:1013 *http://tldp.org/LDP/abs/html/exitcodes.html.
Итак, если вы хотите вернуть произвольное целое число из вашей программы, вероятно, лучше всего распечатать его на стандартный вывод и захватить его с помощью VALUE=$(program)
из вашего скрипта bash.