V8.00.000.2025.06.17
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 42s

Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
2025-07-24 21:36:08 +02:00
parent 3245ac798c
commit 16a1f7fb2c
6 changed files with 52 additions and 33 deletions

View File

@@ -14,8 +14,12 @@ guard_sourcing
####################################### #######################################
# Check for DEBUG mode. # Check for DEBUG mode.
# Globals:
# LOG_VAR
# VAR_DEBUG_TRACE
# VAR_DEBUG_TRAP
# Arguments: # Arguments:
# None # None
####################################### #######################################
pre_scan_debug() { pre_scan_debug() {
declare args=("$@") declare args=("$@")
@@ -43,6 +47,7 @@ pre_scan_debug() {
;; ;;
trap) trap)
declare -gx VAR_DEBUG_TRAP="true" declare -gx VAR_DEBUG_TRAP="true"
initialize_debug_trap
trap 'debug_trap' DEBUG trap 'debug_trap' DEBUG
;; ;;
*) *)

View File

@@ -17,7 +17,7 @@ guard_sourcing
# Globals: # Globals:
# VAR_DUMP_VARS_INITIAL # VAR_DUMP_VARS_INITIAL
# Arguments: # Arguments:
# None # None
####################################### #######################################
dump_vars_initial() { dump_vars_initial() {
# shellcheck disable=SC2155 # shellcheck disable=SC2155
@@ -32,13 +32,13 @@ dump_vars_initial() {
} }
####################################### #######################################
# Gather all user-defined variables (name and value) # Gather all user-defined variables (name and value).
# Globals: # Globals:
# LOG_VAR # LOG_VAR
# VAR_DUMP_VARS_INITIAL # VAR_DUMP_VARS_INITIAL
# VAR_VERSION # VAR_VERSION
# Arguments: # Arguments:
# None # None
####################################### #######################################
dump_vars_exiting() { dump_vars_exiting() {
### Capture the final snapshot of all variables (excluding '^(BASH|_).*') ### Capture the final snapshot of all variables (excluding '^(BASH|_).*')

View File

@@ -16,11 +16,12 @@ guard_sourcing
# Wrapper for XTRACE Debug. # Wrapper for XTRACE Debug.
# Globals: # Globals:
# BASH_XTRACEFD # BASH_XTRACEFD
# DIR_LOG
# LOG_TRC # LOG_TRC
# PS4 # PS4
# SHELLOPTS # SHELLOPTS
# Arguments: # Arguments:
# None # None
####################################### #######################################
debug_trace() { debug_trace() {
### Set a verbose PS4 prompt including timestamp, source, line, exit status of previous command, and function name ### Set a verbose PS4 prompt including timestamp, source, line, exit status of previous command, and function name

View File

@@ -28,9 +28,9 @@ guard_sourcing
# VAR_SYSTEM # VAR_SYSTEM
# VAR_VERSION # VAR_VERSION
# Arguments: # Arguments:
# $0: Script Name $0 # 0: Script Name $0
# $1: Argument Counter $# # 1: Argument Counter $#
# $2: Argument String $* # 2: Argument String $*
####################################### #######################################
debug_trace_header() { debug_trace_header() {
declare -r arg_counter="$1" declare -r arg_counter="$1"

View File

@@ -12,23 +12,35 @@
guard_sourcing guard_sourcing
declare -g VAR_LAST_CMD="" #######################################
declare -g __preexec_invoke="" # Initialize Trap on 'DEBUG'.
# shellcheck disable=SC2155 # Globals:
declare -grx LOG_DBG="${DIR_LOG}/ciss_debian_installer_$$_debug.log" # DIR_LOG
### Generates empty LOG_DBG # LOG_DBG
touch "${LOG_DBG}" && chmod 0600 "${LOG_DBG}" # MASK_PATTERNS
### Write Debug Log Header https://www.gnu.org/software/bash/manual/html_node/Bash-Variables # VAR_LAST_CMD
debug_trap_header "$#" "$*" # Arguments:
### Define patterns and mask replacements # None
declare -Ag MASK_PATTERNS=( #######################################
["API_KEY"]="********" initialize_debug_trap() {
["api_key"]="********" declare -gx VAR_LAST_CMD=""
["password"]="********" declare -gx __preexec_invoke=""
["priv_key"]="********" # shellcheck disable=SC2155
["secret"]="********" declare -grx LOG_DBG="${DIR_LOG}/ciss_debian_installer_$$_debug.log"
["token"]="********" ### Generates empty LOG_DBG
) touch "${LOG_DBG}" && chmod 0600 "${LOG_DBG}"
### Write Debug Log Header https://www.gnu.org/software/bash/manual/html_node/Bash-Variables
debug_trap_header "$#" "$*"
### Define patterns and mask replacements
declare -Ag MASK_PATTERNS=(
["API_KEY"]="********"
["api_key"]="********"
["password"]="********"
["priv_key"]="********"
["secret"]="********"
["token"]="********"
)
}
####################################### #######################################
# Wrapper to write to DEBUG Logfile. # Wrapper to write to DEBUG Logfile.
@@ -37,8 +49,9 @@ declare -Ag MASK_PATTERNS=(
# BASH_SOURCE # BASH_SOURCE
# FUNCNAME # FUNCNAME
# LOG_DBG # LOG_DBG
# PWD
# Arguments: # Arguments:
# None # None
####################################### #######################################
debug_trap_logger() { debug_trap_logger() {
declare var_rc="$1"; shift declare var_rc="$1"; shift
@@ -65,7 +78,6 @@ debug_trap_logger() {
# BASH_COMMAND # BASH_COMMAND
# MASK_PATTERNS # MASK_PATTERNS
# VAR_LAST_CMD # VAR_LAST_CMD
# __preexec_invoke
# Arguments: # Arguments:
# None # None
# Returns: # Returns:
@@ -92,11 +104,12 @@ debug_trap() {
if [[ -n "${__preexec_invoke:-}" ]]; then if [[ -n "${__preexec_invoke:-}" ]]; then
debug_trap_logger "${rc}" "${VAR_LAST_CMD}" debug_trap_logger "${rc}" "${VAR_LAST_CMD}"
declare -g __preexec_invoke="" __preexec_invoke=""
fi fi
declare -g __preexec_invoke=1 __preexec_invoke=1
declare -g VAR_LAST_CMD="${var_cmd}" VAR_LAST_CMD="${var_cmd}"
return 0 return 0
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -29,9 +29,9 @@ guard_sourcing
# VAR_SYSTEM # VAR_SYSTEM
# VAR_VERSION # VAR_VERSION
# Arguments: # Arguments:
# $0: Script Name $0 # 0: Script Name $0
# $1: Argument Counter $# # 1: Argument Counter $#
# $2: Argument String $* # 2: Argument String $*
####################################### #######################################
debug_trap_header() { debug_trap_header() {
declare -r arg_counter="$1" declare -r arg_counter="$1"