]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blob - inst/util.sh
Muevo callgen a inst para que sea más fácil de ejecutar y sacar ese directorio molesto.
[z.facultad/75.08/llamadas.git] / inst / util.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 [$OPCIONES]: " 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 validar_solo_numeros () {
44         TEST=`echo "$1" | sed "s/[0-9]*//g"`
45         if [ "$TEST" == "" ] ; then
46                 #Ok, son solo numeros
47                 return 0
48         fi
49         # ups, hay algo que no es un numero
50         return 1
51 }
52
53 # Crea un archivo de lock para un script
54 lock () {
55         if is_lock "$1" ; then
56                 # Ya esta loqueado, no lo vuelvo a crear
57                 echo "No"
58                 return
59         fi
60         echo "lero lero" > "$INST_DIR/lock/$1.pid"
61 }
62
63 # Desbloquea el script
64 unlock () {
65         rm -rf "$INST_DIR/lock/$1.pid"
66 }
67                         
68
69 # Consulta si un script esta lockeado
70 is_lock () {
71         if [ -e "$INST_DIR/lock/$1.pid" ] ; then
72                 # Lock file encontrado!
73                 return 0
74         fi
75         # No hay lock file!
76         return 1
77 }
78
79 # Verifica que un valor este entre otros 2 .... $1 pertecezca  a [$2,$3]
80 # $1 Numero a validar
81 # $2 Cota inferior 
82 # $3 Cota superior
83
84 validar_rango(){
85         if [ "$1" -ge "$2" ] && [ "$1" -le "$3" ]; then
86                 return 0
87         else 
88                 return 1
89         fi
90 }
91                 
92 #leer "Ingrese un directorio" "/tmp" ALGO
93
94 #echo "Ingresaste : $ALGO"
95
96 # Test de preguntanto
97 #preguntar "Sos hombre (s/n)" "sn" OPT
98
99 #if [ "$OPT" == "s" ] ; then
100 #       echo "Sos un mentiroso!!!"
101 #else
102 #       echo "Jaja ... Trola!"
103 #fi
104
105 # Test de preguntanto
106 #preguntar "Que preferis (drogas/cafe/vino/coca cola)" "drogas cafe vino \"coca cola\"" OPT
107
108 #echo "Vos decidis : $OPT"