Tester mount en bash

Résolu/Fermé
Non2 Messages postés 5103 Date d'inscription mercredi 19 décembre 2007 Statut Contributeur Dernière intervention 15 juillet 2015 - 30 mai 2008 à 13:19
pibarze Messages postés 39 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 5 juin 2008 - 30 mai 2008 à 15:26
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.

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
30 mai 2008 à 15:18
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 jeudi 29 mai 2008 Statut Membre Dernière intervention 5 juin 2008 12
30 mai 2008 à 14:15
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 mercredi 19 décembre 2007 Statut Contributeur Dernière intervention 15 juillet 2015 757
30 mai 2008 à 15:06
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 jeudi 29 mai 2008 Statut Membre Dernière intervention 5 juin 2008 12
30 mai 2008 à 15:26
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 mercredi 19 décembre 2007 Statut Contributeur Dernière intervention 15 juillet 2015 757
30 mai 2008 à 15:24
Impeccable, ça fonctionne.
Merci à tous les deux.
0