Tester mount en bash

Résolu
Non2 Messages postés 5103 Date d'inscription   Statut Contributeur Dernière intervention   -  
pibarze Messages postés 39 Statut Membre -
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.
--
Si les hommes ne devaient parler qu'en connaissance de cause, un silence de mort tomberait sur la terre. (Anne O'Nym)
Configuration: Linux kubuntu 7.10
Firefox 2.0.0.14

4 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    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
  2. pibarze Messages postés 39 Statut Membre 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
  3. Non2 Messages postés 5103 Date d'inscription   Statut Contributeur Dernière intervention   759
     
    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
    1. pibarze Messages postés 39 Statut Membre 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
  4. Non2 Messages postés 5103 Date d'inscription   Statut Contributeur Dernière intervention   759
     
    Impeccable, ça fonctionne.
    Merci à tous les deux.
    0