#!/bin/bash
# fichero: cmd
# procesador de librerías personales
# Autor: Simón Martínez [simon@cicoss.net]
# Fecha: 08/06/2017
# Sintaxis: cmd [comando | funcion] [parametros]
# Ejecuta indistintamente un comando o una función de librería
# Útil en depuración
declare -i NPARM=1 # Número mínimo de parametros
declare -f error # Función de error de parametros
declare -f help # Función de ayuda
function error(){
echo "Error en 'cmd'"
exit 0
}
function help(){
if [ $# -eq 1 ];then
# Si no se le pasa ningun comando
echo "Ayuda de 'cmd'"
exit 0
fi
}
source Básico
declare WD=$(pwd)
declare orden="$1"
declare -f prueba
# Comprobamos si la orden pasada como parametro existe
if [[ "$(type "$orden" 2>&1;)" =~ "no se encontró" || "$(type "$1" 2>&1;)" =~ "not found" ]]; then
# Si no existe buscamos si existe alguna función en algún fichero '.lib' dentro de
# /usr/local/bin/BashLib
result=("$(grep "function $orden" /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 "Orden no encontrada"
exit 1
fi
fi
shift
respuesta=("$($orden "$@" 2>&1;)")
resultado=$?
echo -e "$respuesta"
exit $resultado
Comentarios sobre la versión: 1.1 (0)
No hay comentarios