X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=bash-trace;h=765667536598e1a37f270ce1ca8239ff911d4b9c;hp=61f8ae52edb9958c799001e43a1f91b8f8994f74;hb=HEAD;hpb=d29d21017de635db1d05769144db56f44addd055 diff --git a/bash-trace b/bash-trace deleted file mode 100644 index 61f8ae5..0000000 --- a/bash-trace +++ /dev/null @@ -1,48 +0,0 @@ -# meant to be sourced. copy/pasted from https://iankelling.org/git/?p=errhandle;a=summary - -bash-trace() { - local -i argc_index=0 arg frame i start=${1:-1} max_indent=8 indent - local source - local extdebug=false - if [[ $(shopt -p extdebug) == *-s* ]]; then - extdebug=true - fi - - for ((frame=0; frame < ${#FUNCNAME[@]}-1; frame++)); do - argc=${BASH_ARGC[frame]} - argc_index+=$argc - ((frame < start)) && continue - if (( ${#BASH_SOURCE[@]} > 1 )); then - source="${BASH_SOURCE[frame+1]}:${BASH_LINENO[frame]}:" - fi - indent=$((frame-start+1)) - indent=$((indent < max_indent ? indent : max_indent)) - printf "%${indent}s↳%sin \`%s" '' "$source" "${FUNCNAME[frame]}" - if $extdebug; then - for ((i=argc_index-1; i >= argc_index-argc; i--)); do - printf " %s" "${BASH_ARGV[i]}" - done - fi - echo \' - done -} - - -errcatch() { - set -E; shopt -s extdebug - _err-trap() { - err=$? - exec >&2 - set +x - echo "${BASH_SOURCE[1]}:${BASH_LINENO[0]}:in \`$BASH_COMMAND' returned $err" - bash-trace 2 - set -e - "${_errcatch_cleanup[@]}" - echo "$0: exiting with code $err" - exit $err - } - trap _err-trap ERR - set -o pipefail -} - -errcatch diff --git a/bash-trace b/bash-trace new file mode 120000 index 0000000..015ae24 --- /dev/null +++ b/bash-trace @@ -0,0 +1 @@ +fai/config/files/boot/bash-trace/DEFAULT \ No newline at end of file