Foros del Web » Administración de Sistemas » Unix / Linux »

Duda en un script en bash

Estas en el tema de Duda en un script en bash en el foro de Unix / Linux en Foros del Web. Soy bastante novato en esto de hacer scripts en bash. Me pidieron que monte un filesistem de manera local para hacer un backup y una ...
  #1 (permalink)  
Antiguo 17/05/2012, 08:13
Avatar de maniat1kster  
Fecha de Ingreso: mayo-2012
Mensajes: 1
Antigüedad: 12 años, 6 meses
Puntos: 0
Duda en un script en bash

Soy bastante novato en esto de hacer scripts en bash. Me pidieron que monte un filesistem de manera local para hacer un backup y una vez terminado se desmonte... mi idea fue así:

Código:
#!/bin/bash
export MOUNT=ruta_filesystem


if grep -qs $MOUNT /proc/mounts; then
    echo "Esta montado."
	else
      echo "No esta montado."; then
mount $MOUNT;
fi
osea chequea en /proc si esta montado el filesystem y me avisa..

Pero resulta que quieren que cheque los return codes del mount

Código:
RETURN CODES
       mount has the following return codes (the bits can be ORed):

       0      success

       1      incorrect invocation or permissions

       2      system error (out of memory, cannot fork, no more loop devices)

       4      internal mount bug

       8      user interrupt

       16     problems writing or locking /etc/mtab

       32     mount failure

       64     some mount succeeded
y eso no se como se hace... una mano? gracias

Última edición por maniat1kster; 17/05/2012 a las 08:16 Razón: faltaron un par de acotaciones
  #2 (permalink)  
Antiguo 17/05/2012, 14:00
 
Fecha de Ingreso: febrero-2012
Ubicación: México
Mensajes: 227
Antigüedad: 12 años, 9 meses
Puntos: 48
Respuesta: Duda en un script en bash

La variable que almacena los códigos de salida se llama $?, entonces tendrías que montar montar tu partición y manejar la salida como te convenga.

Código Apache:
Ver original
  1. mount /mi/particion
  2. CODIGO=$?
  3.  
  4. [ $CODIGO -eq 0 ] && echo Se monto la unidad
  5. [ $CODIGO -ne 0 ] && echo No se pudo montar la unidad
  #3 (permalink)  
Antiguo 18/05/2012, 08:03
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda en un script en bash

Otra forma de escribir lo mismo:
Código BASH:
Ver original
  1. if mount /mi/particion; then
  2.     echo "Se monto la unidad"
  3. else
  4.     echo "No se pudo montar"
  5. fi

Claro que si quisieras hacer algo dependiendo de varios valores de retorno posibles (en vez de simplemente probar si hubo errores o no), lo mejor sería usar $? con un CASE.


Saludos.

Etiquetas: shell
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:15.