Есть ли эквивалент $! в ksh, который предоставляет строку ошибки? $? хранит только код выхода.
1 ответ
К сожалению нет. Как правило, в сценариях оболочки вы можете получить только ту информацию, которую программа передает среде, которая в большинстве систем Unix является просто кодом возврата. Как правило, чтобы узнать, что означает возвращаемое значение ошибки, вам нужно поискать на странице руководства программу, которая вернула ошибку.
Например, программа grep
вернет значение 1, если не найдено ни одной строки для соответствия, и значение 0 (обычно используется для успеха), если найденные строки совпадают. Возвращаемое значение 2 используется для ошибки. Это задокументировано на man-странице grep
Во многих случаях ошибка будет напечатана и на STDERR.