Funciones#
[1]:
%%bash
#
# En el siguiente ejemplo se crea una función en Bash. Después
# del nombre de la función siempre se escribe `()` y se
# delimita el cuerpo de la función usando llaves (`{` y `}`).
#
demo(){
echo hola mundo
}
[2]:
%%bash
#
# Para ejecutar la función simplemente se escribe su nombre
# (sin `()`).
#
demo(){
echo hola mundo
}
demo
hola mundo
[3]:
%%bash
#
# Los argumentos se notan como `$1`... al igual que en los
# scripts. En este caso `$0` es el `bash` y no se puede acceder
# al nombre de la función. Note que en la llamada a la función
# no se usan paréntesis, tal como si ocurre en otros lenguajes
# de programación.
#
demo() {
echo $@
echo $*
echo $0
echo $1
echo $#
}
demo a b c d
a b c d
a b c d
bash
a
4
[4]:
%%bash
#
# Las funciones pueden ser almacenadas y ejecutadas dentro de
# un script, tal como se muestra a continuación.
#
cat > maxmin.sh <<EOF
min2(){
echo 'arg1 (min2): ' \$1
echo 'arg2 (min2): ' \$2
if ((\$1 < \$2))
then
echo \$1
else
echo \$2
fi
}
max2(){
echo 'arg1 (max2): ' \$1
echo 'arg2 (max2): ' \$2
if ((\$1 > \$2))
then
echo \$1
else
echo \$2
fi
}
max2 \$3 \$4
min2 \$1 \$2
EOF
[5]:
%%bash
#
# Ejecución del script.
#
bash maxmin.sh 10 20 30 40
arg1 (max2): 30
arg2 (max2): 40
40
arg1 (min2): 10
arg2 (min2): 20
10