# bash_check_deps # --------------- # Verifica existencia de comandos, directorios y archivos. # Output formateado con colores via bash_log. # # USO (sourced): # source bash_check_deps.sh # check_command "docker" "DOCKER_NOT_FOUND" "Docker no esta instalado" # check_commands "git" "curl" "jq" # check_directory "/path/to/dir" # check_file "/path/to/file" SCRIPT_DIR_BASH_CHECK="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR_BASH_CHECK/bash_log.sh" bash_log_init check_command() { local cmd="$1" local error_code="${2:-COMMAND_NOT_FOUND}" local description="${3:-El comando '$cmd' no esta disponible}" debug "Verificando comando: $cmd" if ! command -v "$cmd" &> /dev/null; then error "$description ($error_code)" return 1 fi return 0 } check_commands() { local failed=0 for cmd in "$@"; do if ! command -v "$cmd" &> /dev/null; then error "Comando no encontrado: $cmd" failed=1 fi done if [ $failed -eq 1 ]; then error "Faltan multiples dependencias requeridas" return 1 fi return 0 } check_directory() { local dir="$1" local error_msg="${2:-El directorio '$dir' no existe}" debug "Verificando directorio: $dir" if [ ! -d "$dir" ]; then error "$error_msg" return 1 fi return 0 } check_file() { local file="$1" local error_msg="${2:-El archivo '$file' no existe}" debug "Verificando archivo: $file" if [ ! -f "$file" ]; then error "$error_msg" return 1 fi return 0 }