Código de Linux/Unix Shell Scripting - Ejecutar funciones desde la líne de comandos en BASH

1.1

Actualizado el 28 de Agosto del 2017 (Publicado el 16 de Junio del 2017)gráfica de visualizaciones de la versión: 1.1
2.818 visualizaciones desde el 16 de Junio del 2017
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/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
 

Comentar la versión: 1.1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4028