]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blob - inst/util.sh
Se crean los .conf de cada programa en el hidden HOME
[z.facultad/75.08/llamadas.git] / inst / util.sh
1 #/bin/sh
2
3 BASE_DIR="$HOME/.antifraude"
4 LOCK_DIR="$BASE_DIR/lock"
5
6 # Lee del teclado un valor
7 #
8 # parĂ¡metros :
9 #  $1 = Leyeda a mostrar de pregunta
10 #  $2 = Valor default por si el usuario no ingresa nada
11 #  $3 = Variable donde guardar el valor ingresado (o el default)
12 #
13 leer () {
14         MSG=$1
15         DEFAULT=$2
16         read -p "$MSG [$DEFAULT] : " ALGO 
17         # Si el usuario no ingresa nada
18         # nos quedamos con el valor default
19         if [ ! -z "$ALGO" ] ; then
20                 eval "$3=$ALGO"
21         else
22                 eval "$3=$DEFAULT"
23         fi
24 }
25
26 # Realiza una pregunta al usuario
27 #
28 # parĂ¡metros :
29 #  $1 = Leyeda a mostrar de preguntar
30 #  $2 = string con las opciones validas
31 #  $3 = Variable donde guardar el valor ingresado
32 #
33 preguntar () {
34         PREGUNTA=$1
35         OPCIONES=$2
36         while [ true ] ; do
37                 read -p "$PREGUNTA [$OPCIONES]: " RTA
38                 IS_OK=`echo "$OPCIONES" | grep "$RTA"`
39                 if [ ! -z "$IS_OK" ] && [ ! -z "$RTA" ] ; then
40                         eval "$3=$RTA"
41                         return 0
42                 fi
43         done
44 }
45
46 validar_solo_numeros () {
47         TEST=`echo "$1" | sed "s/[0-9]*//g"`
48         if [ "$TEST" == "" ] ; then
49                 #Ok, son solo numeros
50                 return 0
51         fi
52         # ups, hay algo que no es un numero
53         return 1
54 }
55
56 # Crea un archivo de lock para un script
57 lock () {
58         if is_lock "$1" ; then
59                 # Ya esta loqueado, no lo vuelvo a crear
60                 echo "No"
61                 return
62         fi
63         echo "$$" > "$LOCK_DIR/$1.pid"
64 }
65
66 # Desbloquea el script
67 unlock () {
68         rm -rf "$LOCK_DIR/$1.pid"
69 }
70                         
71
72 # Consulta si un script esta lockeado
73 is_lock () {
74         if [ -e "$LOCK_DIR/$1.pid" ] ; then
75                 # Lock file encontrado!
76                 return 0
77         fi
78         # No hay lock file!
79         return 1
80 }
81
82 # Verifica que un valor este entre otros 2 .... $1 pertecezca  a [$2,$3]
83 # $1 Numero a validar
84 # $2 Cota inferior 
85 # $3 Cota superior
86
87 validar_rango(){
88         if [ "$1" -ge "$2" ] && [ "$1" -le "$3" ]; then
89                 return 0
90         else 
91                 return 1
92         fi
93 }
94                 
95 #leer "Ingrese un directorio" "/tmp" ALGO
96
97 #echo "Ingresaste : $ALGO"
98
99 # Test de preguntanto
100 #preguntar "Sos hombre (s/n)" "sn" OPT
101
102 #if [ "$OPT" == "s" ] ; then
103 #       echo "Sos un mentiroso!!!"
104 #else
105 #       echo "Jaja ... Trola!"
106 #fi
107
108 # Test de preguntanto
109 #preguntar "Que preferis (drogas/cafe/vino/coca cola)" "drogas cafe vino \"coca cola\"" OPT
110
111 #echo "Vos decidis : $OPT"