ksh эквивалент perl $! причина ошибки

725
Abhinav

Есть ли эквивалент $! в ksh, который предоставляет строку ошибки? $? хранит только код выхода.

2

1 ответ на вопрос

2
jamuraa

К сожалению нет. Как правило, в сценариях оболочки вы можете получить только ту информацию, которую программа передает среде, которая в большинстве систем Unix является просто кодом возврата. Как правило, чтобы узнать, что означает возвращаемое значение ошибки, вам нужно поискать на странице руководства программу, которая вернула ошибку.

Например, grepпрограмма вернет значение 1, если не найдено ни одной строки для соответствия, и значение 0 (обычно используется для успеха), если найденные строки совпадают. Возвращаемое значение 2 используется для ошибки. Это задокументировано на man-странице grep

Во многих случаях ошибка будет напечатана и на STDERR.