#!/bin/sh
foo() {
echo "Function foo is executing"
}
echo "Script starting"
foo
echo "Script ended"
exit 0
ejecutando el script
$ sh foo.sh
Script starting
Function foo is executing
Script ended
$
Cuando se llama a una función se reemplazan los parámetros posicionales del script ($0, $*, $#, $@, $1, $2...) se reenplazan con los de la función. Cuando esta termina se restablecen los valores anteriores (algunos shell antiguos no lo hacen, así que ojo). Se pueden declarar variables locales a las funciones usando la palabra local
local variable="variable local"
Si hay dos variables con el mismo nombre, la función accederá a la local.
ENVÍO DE VALORES
#!/bin/sh
yes_or_not() {
echo "Is $* your name?"
while true
do
echo -n "Enter yes or no: "
read x
case "$x" in
y | yes ) return 0;;
n | no ) return 1;;
* ) echo "Answer yes or no"
esac
done
}
Echo "Original parameters are $*"
if yes_or_no "$1"
then
echo "Hi $1, nice name"
else
echo "Never mind"
fi
exit 0
No hay comentarios:
Publicar un comentario