]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blob - util.sh
detalles minimos
[z.facultad/75.08/llamadas.git] / 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 #leer "Ingrese un directorio" "/tmp" ALGO
80
81 #echo "Ingresaste : $ALGO"
82
83 # Test de preguntanto
84 #preguntar "Sos hombre (s/n)" "sn" OPT
85
86 #if [ "$OPT" == "s" ] ; then
87 #       echo "Sos un mentiroso!!!"
88 #else
89 #       echo "Jaja ... Trola!"
90 #fi
91
92 # Test de preguntanto
93 #preguntar "Que preferis (drogas/cafe/vino/coca cola)" "drogas cafe vino \"coca cola\"" OPT
94
95 #echo "Vos decidis : $OPT"