]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blob - example.sh
Agrego ejemplo de funciones utiles
[z.facultad/75.08/llamadas.git] / example.sh
1 #/bin/sh
2
3 # Lee del teclado un valor
4 #
5 # parĂ¡metros :
6 #  $1 = Leyeda a mostrar de pregunta
7 #  $2 = Valor default por si el usuario no ingresa nada
8 #  $3 = Variable donde guardar el valor ingresado (o el default)
9 #
10 leer () {
11         MSG=$1
12         DEFAULT=$2
13         read -p "$MSG [$DEFAULT] : " ALGO 
14         # Si el usuario no ingresa nada
15         # nos quedamos con el valor default
16         if [ ! -z "$ALGO" ] ; then
17                 eval "$3=$ALGO"
18         else
19                 eval "$3=$DEFAULT"
20         fi
21 }
22
23 # Realiza una pregunta al usuario
24 #
25 # parĂ¡metros :
26 #  $1 = Leyeda a mostrar de preguntar
27 #  $2 = string con las opciones validas
28 #  $3 = Variable donde guardar el valor ingresado
29 #
30 preguntar () {
31         PREGUNTA=$1
32         OPCIONES=$2
33         while [ true ] ; do
34                 read -p "$PREGUNTA : " RTA
35                 IS_OK=`echo "$OPCIONES" | grep "$RTA"`
36                 if [ ! -z "$IS_OK" ] && [ ! -z "$RTA" ] ; then
37                         eval "$3=$RTA"
38                         return 0
39                 fi
40         done
41 }
42
43 leer "Ingrese un directorio" "/tmp" ALGO
44
45 echo "Ingresaste : $ALGO"
46
47 echo
48 echo
49
50 # Test de preguntanto
51 preguntar "Sos hombre (s/n)" "sn" OPT
52
53 if [ "$OPT" == "s" ] ; then
54         echo "Sos un mentiroso!!!"
55 else
56         echo "Jaja ... Trola!"
57 fi
58
59 # Test de preguntanto
60 preguntar "Que preferis (drogas/cafe/vino/coca cola)" "drogas cafe vino \"coca cola\"" OPT
61
62 echo "Vos decidis : $OPT"