Вы правы, возврат 0 обычно означает успех, а любое другое значение - ошибку.
Я не думаю, что есть какие-то "стандарты" для других ценностей. По крайней мере, это не широко используется.
Обычным способом является печать сообщения об ошибке на стандартном выходе ошибки и возвращение уникального идентификатора ошибки для каждого вида ошибки.
Затем вы можете документировать коды ошибок на странице руководства или в другом документе документации.
Windows, кажется, использует тот же метод. например,
mkdir
вернуть 1 и вывести ~ 'неправильный синтаксис'
mkdir C:\alreay\existing\directory
вернуть также 1 и вывести ~ 'direcotry или файл уже существует'
примечание: сообщение не является точным (перевод с французского)