]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - inst/util.sh
Se agrega funcion lock_pid para obtener el PID de un programa lockeado (y algo de...
[z.facultad/75.08/llamadas.git] / inst / util.sh
index 0bb46f1feccf088bd1abfac0d4b247afb30971c5..1cfb6c1e2acaa6ee6a43aa3ca0feb4df8867f4e5 100755 (executable)
@@ -31,13 +31,22 @@ leer () {
 #  $1 = Leyeda a mostrar de preguntar
 #  $2 = string con las opciones validas
 #  $3 = Variable donde guardar el valor ingresado
+#  $4 = Valor por defecto si se apreta ENTER
 #
 preguntar () {
-       PREGUNTA=$1
-       OPCIONES=$2
-       while [ true ] ; do
+       PREGUNTA="$1"
+       OPCIONES="$2"
+       DEFAULT="$4"
+       while true; do
                read -p "$PREGUNTA [$OPCIONES]: " RTA
 
+               # Si me pasaron un default y la respuesta es vacĂ­a
+               if [ -n "$DEFAULT" -a -z "$RTA" ]; then
+                       # devuelvo default
+                       RTA="$DEFAULT"
+                       return 0
+               fi
+
                # Escapeo el caracter '-' por '\-'
                RTA=$(echo $RTA | sed "s/\-/\\\-/")
 
@@ -61,6 +70,7 @@ validar_solo_numeros () {
 
 # Crea un archivo de lock para un script
 # Devuelve: 0 si ok, 1 si ya esta lockeado, 2 si no pudo crear lock.
+# Uso: lock programa
 lock () {
        # si ya esta loqueado, no lo vuelvo a crear
        is_lock "$1" && return 1
@@ -71,12 +81,14 @@ lock () {
 }
 
 # Desbloquea el script
+# Uso: unlock programa
 unlock () {
        rm -rf "$LOCK_DIR/$1.pid"
 }
                        
 
 # Consulta si un script esta lockeado
+# Uso: is_lock programa
 is_lock () {
        if [ -e "$LOCK_DIR/$1.pid" ] ; then
                # Lock file encontrado!
@@ -86,6 +98,13 @@ is_lock () {
        return 1
 }
 
+# Obtiene el pid de un programa lockeado
+# Uso: lock_pid programa
+lock_pid()
+{
+       is_lock "$1" && cat "$LOCK_DIR/$1.pid"
+}
+
 # Verifica que un valor este entre otros 2 .... $1 pertecezca  a [$2,$3]
 # $1 Numero a validar
 # $2 Cota inferior