Я хочу вернуть коды, такие как 0-success,
4-warning
, 8-failure
. Оболочка имеет только два кода возврата i.e 0
и 1. Возможно ли иметь надстандартный код? Для успеха мне нужно 0 и для отказа мне нужно 8.Пользовательские коды возврата в unix
ответ
Вы можете вернуть любое 8-битное значение, но только 0 означает успех, любое другое значение считается сбоем. В случае неудачи, само значение не имеет предопределенного значения, вы можете выбрать любую семантику, которую хотите.
Функции в сценарии и сам сценарий возвращают статус выхода . Последняя команда, выполняемая в функции или скрипте , определяет статус выхода. Внутри скрипта команда exit nnn может использовать для доставки статуса выхода nnn в оболочку (nnn должно быть целым числом в диапазоне 0 - 255). (source)
Кроме того, большинство языков программирования позволяют вам вернуть код состояния 8 бит.
В оболочке вы можете получить последний код состояния с переменной $?
. И вы можете отправить один либо с помощью exit X
или return X
где -1<X<256
Вы можете использовать любой 8-битный код завершения в сценарий оболочки. Только 0 считается успехом, все остальные - неудача.
- 1. Пользовательские сообщения об ошибках и коды возврата HTTP в WSO2DSS
- 2. Коды возврата в Scala
- 3. Коды возврата Python
- 4. Коды возврата Java-приложений
- 5. PuTTY коды возврата PSFTP
- 6. Коды возврата ShellExecute VBScript
- 7. Сделайте коды возврата в Backbone.Event?
- 8. Пользовательские коды NSError
- 9. Пользовательские коды ключей
- 10. Коды ошибок сокета домена Unix?
- 11. Обработка NMake ERRORLEVEL/Коды возврата
- 12. Коды ошибок возврата Jsch несовместимы
- 13. Выходной символ возврата в UNIX
- 14. Пользовательские коды других правил/sniffs
- 15. Проверка кода возврата ftp из сценария Unix
- 16. Составляющие временные коды запчастей в Unix (Ubuntu)?
- 17. Пользовательские события в unix C++
- 18. Условные коды для возврата 0,1,2,3 в scapy
- 19. msi коды возврата в Inno Setup
- 20. Цветные коды возврата в довольно печатных столбцах
- 21. Неиспользованные коды статуса возврата в C
- 22. операция AND коды возврата в Баш
- 23. Как реализовать коды возврата в функции DdeCallback
- 24. Пользовательские короткие коды в Yoast SEO
- 25. Определить пользовательские коды ошибок в WinDbg
- 26. Как определить пользовательские коды ошибок в C (++)
- 27. Пользовательские переменные, созданные пользователем Unix
- 28. Используйте коды возврата сразу же после цифр
- 29. sqlite3 командной строки несогласованные коды возврата
- 30. Каковы коды возврата/выхода для resize2fs?
Shell не дал только два кода возврата? Попробуйте 'bash -c 'exit 123' || echo $? 'в оболочке и обратите внимание, что код статуса 123 возвращается. – Cyrbil
Я голосую, чтобы закрыть этот вопрос как вне темы, потому что вопрос основан на ложном предположении. – chepner
если [$? -eq 0]; then echo -e "Файл параметров успешно загружен \ n код возврата = $? \ n" else echo -e "Файл параметров не загружен \ n код возврата = $? \ n" exit 8 fi Я получаю код возврата как 1 incase of failure –