Tester mount en bash

Résolu
Non2 Messages postés 5103 Date d'inscription   Statut Contributeur Dernière intervention   -  
pibarze Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais écrire un script bash qui démarre en testant si mon disque externe (sauvegarde) sdd1 est monté.

A part tester ce que renvoit mounnt ( kdesu mount /dev/sdd1 /mnt/WDMyBook >/tmp/$$.mount-output 2>&1 à travers if [ $mount_status -eq 0 ], je n'ai pas trouvé.

Or ceci monte le disque pour tester ce que renvoit mount, et je voudrais seulement tester l'état du disque, pour le monter et l'afficher dans konqueror s'il ne l'est pas et le démonter s'il l'est.

Quequ'un sait-il comment effectuer ce test ?
Merci d'avance.
A voir également:

4 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
faire comme ça:

#!/bin/bash
#
mount | grep -q /dev/sdd1
if [ $? -eq 1 ] ; then
echo "Elle n'est pas montée"
else
echo "Elle est montée"
fi
2
pibarze Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   12
 
Tu peux faire :
mount | grep /dev/sdd1

Par exemple juste après tu peux tester la variable $? : si elle vaut 1 c'est qu'il n'est pas monté, sil elle vaut 0 c'est qu'il est monté.
1
Non2 Messages postés 5103 Date d'inscription   Statut Contributeur Dernière intervention   758
 
Merci, mais ça marche trop bien !
Je débute en script bash, et je dois faire une erreur de débutant. Voici l'essai texte du script :

#!/bin/bash
#
mavar=mount | grep /dev/sdd1
if [ $mavar 1 ] ; then
echo "Elle n'est pas montée"
else
echo "Elle est montée"
fi


... et la réponse est :

moi@ma-becane:~$ /home/moi/testsdd.sh
Elle n'est pas montée
moi@ma-becane:~$ sudo mount /dev/sdd1 /mnt/WDMyBook
[sudo] password for moi:
moi@ma-becane:~$ /home/moi/testsdd.sh
Elle n'est pas montée
moi@ma-becane:~$ sudo umount /dev/sdd1
moi@ma-becane:~$ /home/moi/testsdd.sh
Elle n'est pas montée
moi@ma-becane:~$


Quelque chose m'échappe, mais quoi ?
0
pibarze Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   12
 
Tu n'utilises pas la bonne syntaxe :

mount | grep /dev/sdd1

if [ "$?" -eq 0 ] ; then
echo "Elle est montée"
else
echo "Elle n'est pas montée"
fi
0
Non2 Messages postés 5103 Date d'inscription   Statut Contributeur Dernière intervention   758
 
Impeccable, ça fonctionne.
Merci à tous les deux.
0