feat: add bash shell utility functions
12 funciones Bash del dominio shell: utilidades de scripting (bash_log, bash_colors, bash_check_deps, bash_confirm, bash_handle_error, bash_safe_run), manipulacion de texto (convert_text_case), estructura de proyectos (create_project_structure), y operaciones git (git_clean_branches, git_log_visual, git_push_all_remotes, git_repo_status). Cada una con su .sh y .md de frontmatter.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# bash_log
|
||||
# --------
|
||||
# Funciones de logging con colores para scripts.
|
||||
# Incluye: log, success, info, warning, error, debug, progress.
|
||||
#
|
||||
# USO (sourced):
|
||||
# source bash_log.sh
|
||||
# bash_log_init
|
||||
# success "Operacion completada"
|
||||
# info "Procesando..."
|
||||
# error "Algo fallo"
|
||||
|
||||
SCRIPT_DIR_BASH_LOG="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR_BASH_LOG/bash_colors.sh"
|
||||
bash_colors
|
||||
|
||||
bash_log_init() {
|
||||
export ERROR_LOG_FILE="${ERROR_LOG_FILE:-/tmp/script-errors-$(date +%Y%m%d).log}"
|
||||
export DEBUG_MODE="${DEBUG_MODE:-0}"
|
||||
}
|
||||
|
||||
log() {
|
||||
local level="$1"
|
||||
shift
|
||||
local message="$@"
|
||||
local timestamp
|
||||
timestamp=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
echo "[$timestamp] [$level] $message" >> "${ERROR_LOG_FILE:-/tmp/script-errors.log}"
|
||||
|
||||
if [ "${DEBUG_MODE:-0}" = "1" ]; then
|
||||
echo -e "${GRAY}[$timestamp] [$level] $message${NC}" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
success() {
|
||||
echo -e "${GREEN}${CHECKMARK} $*${NC}"
|
||||
log "SUCCESS" "$*"
|
||||
}
|
||||
|
||||
info() {
|
||||
echo -e "${BLUE}${INFO} $*${NC}"
|
||||
log "INFO" "$*"
|
||||
}
|
||||
|
||||
warning() {
|
||||
echo -e "${YELLOW}${WARNING} $*${NC}"
|
||||
log "WARNING" "$*"
|
||||
}
|
||||
|
||||
error() {
|
||||
echo -e "${RED}${CROSS} Error: $*${NC}" >&2
|
||||
log "ERROR" "$*"
|
||||
}
|
||||
|
||||
debug() {
|
||||
if [ "${DEBUG_MODE:-0}" = "1" ]; then
|
||||
echo -e "${GRAY}[DEBUG] $*${NC}" >&2
|
||||
fi
|
||||
log "DEBUG" "$*"
|
||||
}
|
||||
|
||||
progress() {
|
||||
echo -e "${CYAN}${ARROW} $*${NC}"
|
||||
}
|
||||
Reference in New Issue
Block a user