Merge pull request #2583 from JohnVillalovos/dev

debug_bash_helper: Use eval as busybox systems have problems
This commit is contained in:
neil 2019-11-15 22:23:07 +08:00 committed by GitHub
commit aac9f089d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

16
acme.sh
View File

@ -268,31 +268,31 @@ _usage() {
__debug_bash_helper() { __debug_bash_helper() {
# At this point only do for --debug 3 # At this point only do for --debug 3
if [ "${DEBUG:-$DEBUG_LEVEL_NONE}" -lt "$DEBUG_LEVEL_3" ]; then if [ "${DEBUG:-$DEBUG_LEVEL_NONE}" -lt "$DEBUG_LEVEL_3" ]; then
echo ""
return return
fi fi
# Return extra debug info when running with bash, otherwise return empty # Return extra debug info when running with bash, otherwise return empty
# string. # string.
if [ -z "${BASH_VERSION}" ]; then if [ -z "${BASH_VERSION}" ]; then
echo ""
return return
fi fi
# We are a bash shell at this point, return the filename, function name, and # We are a bash shell at this point, return the filename, function name, and
# line number as a string # line number as a string
_dbh_saveIFS=$IFS _dbh_saveIFS=$IFS
IFS=" " IFS=" "
# Must use eval or syntax error happens under dash # Must use eval or syntax error happens under dash. The eval should use
# single quotes as older versions of busybox had a bug with double quotes and
# eval.
# Use 'caller 1' as we want one level up the stack as we should be called # Use 'caller 1' as we want one level up the stack as we should be called
# by one of the _debug* functions # by one of the _debug* functions
eval "_dbh_called=($(caller 1))" eval '_dbh_called=($(caller 1))'
IFS=$_dbh_saveIFS IFS=$_dbh_saveIFS
_dbh_file=${_dbh_called[2]} eval '_dbh_file=${_dbh_called[2]}'
if [ -n "${_script_home}" ]; then if [ -n "${_script_home}" ]; then
# Trim off the _script_home directory name # Trim off the _script_home directory name
_dbh_file=${_dbh_file#$_script_home/} eval '_dbh_file=${_dbh_file#$_script_home/}'
fi fi
_dbh_function=${_dbh_called[1]} eval '_dbh_function=${_dbh_called[1]}'
_dbh_lineno=${_dbh_called[0]} eval '_dbh_lineno=${_dbh_called[0]}'
printf "%-40s " "$_dbh_file:${_dbh_function}:${_dbh_lineno}" printf "%-40s " "$_dbh_file:${_dbh_function}:${_dbh_lineno}"
} }