Каков ваш любимый метод обработки ошибок в Bash? Лучший пример обработки ошибок, которые я нашел в Интернете, написал Уильям Шоттс-младший в http://www.linuxcommand.org.
Он предлагает использовать следующую функцию для обработки ошибок в Bash:
#!/bin/bash
# A slicker error handling routine
# I put a variable in my scripts named PROGNAME which
# holds the name of the program being run. You can get this
# value from the first item on the command line ($0).
# Reference: This was copied from <http://www.linuxcommand.org/wss0150.php>
PROGNAME=$(basename $0)
function error_exit
{
# ----------------------------------------------------------------
# Function for exit due to fatal program error
# Accepts 1 argument:
# string containing descriptive error message
# ----------------------------------------------------------------
echo "${PROGNAME}: ${1:-"Unknown Error"}" 1>&2
exit 1
}
# Example call of the error_exit function. Note the inclusion
# of the LINENO environment variable. It contains the current
# line number.
echo "Example of error with line number and message"
error_exit "$LINENO: An error has occurred."
Есть ли у вас более эффективная процедура обработки ошибок, используемая в сценариях Bash?