From 4f302bad8f47dbcf1362a20121a70397e41e3fc5 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Sun, 10 Oct 2004 00:15:55 +0000 Subject: [PATCH] Agrego ejemplo de funciones utiles --- example.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 example.sh diff --git a/example.sh b/example.sh new file mode 100755 index 0000000..86bbe39 --- /dev/null +++ b/example.sh @@ -0,0 +1,62 @@ +#/bin/sh + +# Lee del teclado un valor +# +# parĂ¡metros : +# $1 = Leyeda a mostrar de pregunta +# $2 = Valor default por si el usuario no ingresa nada +# $3 = Variable donde guardar el valor ingresado (o el default) +# +leer () { + MSG=$1 + DEFAULT=$2 + read -p "$MSG [$DEFAULT] : " ALGO + # Si el usuario no ingresa nada + # nos quedamos con el valor default + if [ ! -z "$ALGO" ] ; then + eval "$3=$ALGO" + else + eval "$3=$DEFAULT" + fi +} + +# Realiza una pregunta al usuario +# +# parĂ¡metros : +# $1 = Leyeda a mostrar de preguntar +# $2 = string con las opciones validas +# $3 = Variable donde guardar el valor ingresado +# +preguntar () { + PREGUNTA=$1 + OPCIONES=$2 + while [ true ] ; do + read -p "$PREGUNTA : " RTA + IS_OK=`echo "$OPCIONES" | grep "$RTA"` + if [ ! -z "$IS_OK" ] && [ ! -z "$RTA" ] ; then + eval "$3=$RTA" + return 0 + fi + done +} + +leer "Ingrese un directorio" "/tmp" ALGO + +echo "Ingresaste : $ALGO" + +echo +echo + +# Test de preguntanto +preguntar "Sos hombre (s/n)" "sn" OPT + +if [ "$OPT" == "s" ] ; then + echo "Sos un mentiroso!!!" +else + echo "Jaja ... Trola!" +fi + +# Test de preguntanto +preguntar "Que preferis (drogas/cafe/vino/coca cola)" "drogas cafe vino \"coca cola\"" OPT + +echo "Vos decidis : $OPT" -- 2.43.0