diff --git a/README.md b/README.md index 22a369b..3f3a393 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Selección de scripts de autoria propia - [Lol laucher y debug](#rito-pls) > **NOTA:** Funciones ejecutadas con ***alias*** -> ej: `alias mi_alias='/ruta/a/scritps/script funcion '` +> - ej: `alias mi_alias='/ruta/a/script funcion '` ---- @@ -21,16 +21,14 @@ ej `custom_log_dirs`: ```txt /ruta/a/directorio /ruta/a/otro/directorio -/ruta/a/otro/directorio/mas +/ruta/a otro/directorio con espacios ``` - -> nombres de directorios sin espacios ej `/ruta/a/dir/deLogs` -> nombres de directorios terminan en `\n` +> - Los nombres de directorios terminan en `\n` Lista los log disponibles en los directorios mencionados. -> extension `.log` -> logs con permiso de lectura +> - archivos con extension `.log` +> - archivos con permiso de lectura `./buscalog.sh listLog` ```txt @@ -92,7 +90,7 @@ UsuarioGit2 user2@git.org keyUser2 UsuarioGit3 user3@git.org keyUser3 UsuarioGit4 user4@git.org keyUser4 ``` -> llaves ssh en `~/.ssh/keys/` +> - llaves ssh en `~/.ssh/keys/` ### Listar usuarios agregados `./gitfun.sh gitUser` diff --git a/buscalog.sh b/buscalog.sh index 6bbefe3..f1b34fb 100755 --- a/buscalog.sh +++ b/buscalog.sh @@ -1,27 +1,38 @@ #!/usr/bin/env bash -declare -a LOG_DIRS -declare -a customLogDirs - LOGBASEDIR='/var/log'; CUSTLOGDIRS="$HOME/.config/custom_log_dirs"; -ConT=0; -while read -a LINEA; do - customLogDirs+=($LINEA) -done < $CUSTLOGDIRS +lsLogDirs(){ + OIFS="$IFS" + IFS=$'\n' + while read -a LINEA; do + customLogDirs+=($LINEA) + done < $CUSTLOGDIRS + \ls -U ${LOGBASEDIR}/*.log 2>/dev/null + for dir in ${customLogDirs[@]}; do + \ls -U ${dir}/*.log 2>/dev/null + done + IFS="$OIFS" +} -while read -a LINEA; do - [[ -r "${LINEA}" ]] && LOG_DIRS[$ConT]="${LINEA}" && ((++ConT)) -done <<< $(\ls -U ${LOGBASEDIR}/*.log 2>/dev/null && - for dir in "${customLogDirs[@]}"; do \ls -U $dir/*.log 2>/dev/null; done; ) +cargaLogDirs(){ + ConT=0 + OIFS="$IFS" + IFS=$'\n' + while read -a LINEA; do + [[ -r "${LINEA}" ]] && LOG_DIRS[$ConT]="${LINEA}" && ((++ConT)) + done <<< $(lsLogDirs) + IFS="$OIFS" +} listLog(){ + cargaLogDirs clear local cont=0 printf '\n \e[1;32mSelección de Logs :\n' printf ' %s\e[0m\n' "-------------------" - for str in ${LOG_DIRS[@]}; do + for str in "${LOG_DIRS[@]}"; do printf ' \e[1;34m%s)\e[0m \e[0;32m%s \e[0m\n' "$cont" "${str}" | \ sed 's/\/var\/log\///g ; s/\.log//g' ((++cont))