Está en la página 1de 6

Funciones en BASH

Podemos definir funciones en un script de shell utilizando la siguiente sintaxis:


nombre_funcion() {
# comandos o instrucciones bash.
}
o
function nombre_de_la_funcion {
# comandos o instrucciones bash.
}
y para inocarla se utiliza la siguiente sitanxis:
nombre_funcion p! p" p#
donde p!$ p"$ p# hacen referencia a los par%metros &ue se en'an
(iempre tenemos &ue definir la funci)n antes de llamarla:
#*+bin+bash
# ,efinici)n de funciones
funcion!() {
comandos
}
funcion"() {
comandos
}
# Programa principal
funcion! p! p" p#
Paso de par%metros
-a funci)n referencia los par%metros pasados por posici)n$ es decir$ .!$ ."$ ...$ y ./ para la lista
completa:
. nano funcion!.sh

0ariables locales
1s posible definir ariables locales en las funciones:
. nano locales.sh
return
,espu2s de llamar a una funci)n$ .3 tiene el c)digo se salida del 4ltimo comando e5ecutado:
podemos ponerlo de forma expl'cita usando return
return permite deoler un entero entre 6 y "77
8ecursi)n
9ash permite recursi)n$ no recomendable debido a su coste
15emplo: recorre recursiamente los directorios y muestra los archios &ue existen en dicho directorio
1l siguiente e5emplo consiste en realizar funci)n &ue realiza un incremento desde 6 hasta un limite
establecido$ siempre y cuando este sea positio
:eneraci)n de ;en4
1l comando (1-1<= Permite seleccionar al usuario una opci)n de una lista de opciones en un men4.
-a sintaxis de esta construcci)n es la siguiente:
select nombre >in lista?
do
comandos &ue pueden utilizar .nombre
done
15emplo.@ A continuaci)n se muestra un listado de opciones y se selecciona uno de ellos y se despliega
la opci)n seccionada.
Actividades
!. 1ntrega los e5emplos &ue forman parte de estas notas.
". :enera un men4 &ue contenga las siguientes opciones: (se debe realizar con " n4meros y
cuando termine una operaci)n$ debe regresar al men4 principal )
!. (uma
". 8esta
#. ;ultiplicaci)n
B. ,iisi)n
7. ;odulo
C. (alir
#. ;odifica el programa incremento.sh$ para generar decremento.sh &ue simplemente har% el
decremento de n hasta 6
B. -eer los siguientes datos: (15emplo)
!. Dombre: Euan
". 1dad:"6
#. Fecha Dacimiento:!6@!6@!GG6
Htilizar el programa guardar y generar un archio txt con las # primeras letras de la cadena
nombre concatenado con la edad. (5ua"6.txt)
7. :enerar el programa de mostrar un rect%ngulo de un ancho y un alto proporcionado por el
usuario$ adem%s de proporcionar un mensa5e. <entrar el mensa5e en el rect%ngulo rellenado por
/. (no usar el generado en el lengua5e <).
C. :enerar un programa donde se imprima lo siguiente:
!. .+rombo.sh #
/
///
/////
///
/
I. :enera un menu donde se tenga como opciones los programas de los incisos # (incremento y
decremento)$B$7 y C.

También podría gustarte