Importar librerías en Bash
Linux/Unix Shell Scripting
6.194 visualizaciones desde el 16 de Junio del 2017
Script para importar funciones contenidas en ficheros de librería contenidos en un directorio especifico.
#!/bin/bash
# importar
# procedimiento para importar librerías de funciones
# autor: Simón Martínez [simon@cicoss.net]
# fecha: 13-06-2017
# ******************************************************
# Uso:
# #!/bin/bash
# declare -r DIRLIB="ruta_a_las librerías"
# declare IMPORTAR="funcion_a, funcion_b,...,funcion_z
# source importar
#*******************************************************
# Directorio donde se almacena las librerías
# si no esta definido previamente
if [ -z $DIRLIB ]; then
declare -r DIRLIB="/usr/local/bin/BashLib/"
fi
declare -a EXPLODE_RETURN=()
function explode(){
local -a i=0
local -a n=0
for n in ${!EXPLODE_RETURN[*]}; do
unset ${EXPLODE_RETURN[$n]}
done
local -a cadena="$2"
local -a separador="$1"
oldIFS=$IFS
IFS=$(echo -en "$separador";)
for parte in $cadena; do
EXPLODE_RETURN[i]=$parte
((i++))
done
IFS=$oldIFS
}
explode ", " $IMPORTAR
for func in $EXPLODE_RETURN; do
result=("$(grep "function $func" /usr/local/bin/BashLib/*.lib 2>&1;)")
if [ $? -eq 0 ]; then
# Si existe el nombre del fichero aparece antes de los dos puntos':'
# en la respuesta de grep e importamos el fichero
source ${result%%:*}
else
echo -e "$result"
echo "Función no encontrada"
exit 1
fi
done
Comentarios sobre la versión: 1.0 (0)
No hay comentarios