18 votos

Compruebe si el directorio montado con bash

Estoy usando

mount -o bind /some/directory/here /foo/bar

¿Quiero ver /foo/bar pero con un script de bash y ver si su estado montado? Si no, llamar el comando de montaje anterior, hacer otra cosa. ¿Cómo puedo hacerlo?

CentOS es el sistema operativo

40voto

Mark J. Bobak Puntos 5504

No te molestes en hablar de un sistema operativo.

Ubuntu Linux 11.10 (y probablemente más actualizadas sabores de Linux) tienen la mountpoint comando.

Aquí está un ejemplo de uno de mis servidores:

$ mountpoint /oracle
/oracle is a mountpoint
$ mountpoint /bin
/bin is not a mountpoint

En realidad, en su caso, podrá usar el -q opción, como esta:

mountpoint -q /foo/bar || mount -o bind /some/directory/here /foo/bar

Espero que ayude.

15voto

Christopher Neylan Puntos 3394

Ejecución de la mount comando sin argumentos le dirá la actual monta. A partir de una secuencia de comandos de shell, puede comprobar el punto de montaje con grep y un si-declaración:

if mount | grep /mnt/md0 > /dev/null; then
    echo "yay"
else
    echo "nay"
fi

En mi ejemplo, si la instrucción está comprobando el código de salida de grep, lo que indica que si hay un partido. Ya no quiero la salida que se muestra cuando hay un partido, estoy cambiando a /dev/null.

(editado por jordanm la sugerencia)

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: