Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/06/2008, à 10:24

PierreBar

Tester si ma clé est montée sous Ubuntu

Bonjour,

   Excusez moi si mon message est mal placé hmm J'aimerais créer un script bash permettant de tester si ma clé USB est montée. Comment dois-je m'y prendre ? Quelle est la commande qui permet de tester si une clé est montée...

Je vous remercie
Bonne journée
PierreBar

#2 Le 05/06/2008, à 10:29

Elemmire

Re : Tester si ma clé est montée sous Ubuntu

tu peux utiliser :

lsusb

Hors ligne

#3 Le 05/06/2008, à 12:55

PierreBar

Re : Tester si ma clé est montée sous Ubuntu

lsusb sert a afficher les périphériques et port associé ? Moi ce que je voudrais faire c'est un test du style :

Si ma clé USB est montée en home persistant (if mount /dev/sda1 /home/ubuntu) alors effectuer une action (en l'occurence execution d'un script bash)

#4 Le 05/06/2008, à 14:38

Elemmire

Re : Tester si ma clé est montée sous Ubuntu

if [ `grep "/dev/sda1" /etc/mtab` ]
then 
        echo la clé USB est monté
else
        echo la clé usb n'est pas là
fi

tu peux affiner en faisant un autre grep sur le point de montage ...
si ca te convient pas il faut alors étudier les comandes relatives à udev tel que udevinfo udevmonitor ...
voir meme dmesg qui est toujours un bon fournisseur d'information.

des petits liens vers des articles interessants sur udev :http://mars-linux.over-blog.com/article-843955-6.html
http://forum.ubuntu-fr.org/viewtopic.php?id=173702

PS : /etc/mtab est le fichier dans lequel on retrouve les point de montage actuels.

Dernière modification par Elemmire (Le 05/06/2008, à 14:56)

Hors ligne

#5 Le 06/06/2008, à 14:51

Papipen

Re : Tester si ma clé est montée sous Ubuntu

Je ne comprends pas. Voici ce que j'ai mis à l'interieur de mon script :
#Je monte ma cle
sudo mount /dev/sda1 /home/ubuntu
#je controle qu'elle soit montée
if [ `grep "/dev/sda1" "/home/ubuntu"`]
then
   #si montee alors execution du script lancer
   cd /home/ubuntu
   sudo ./lancer
fi

Lorsque je connecte ma clé USB au démarrage, elle est bien montée en home persistant mais je ne rentre pas dans la boucle et le script n'est pas exécuté.
Lorsqu'il n'y a aucune clé, la boucle est ignorée.

Donc en gros qu'il y ait une clé ou pas, je ne rentre jamais dans la boucle.

#6 Le 06/06/2008, à 15:55

Elemmire

Re : Tester si ma clé est montée sous Ubuntu

ben forcément ... tu n'as pas suivi ce que j'ai dit !!!
Rappel :

grep
sert à chercher une chaine de caractere dans un fichier. retourne 0 si il trouve la chaine de caracter et retourne 1 si pas trouvé
/etc/mtab : liste des points de montage en cours

Le but est donc de regarder dans le fichier /etc/mtab si /dev/sda1 est présent ou /home/ubuntu.

donc on devrait avoir un script de ce style là :

if [ `grep -c "/home/ubuntu" /etc/mtab` -gt 0 ]
then 
      echo "la clé USB est monté"
else  
      echo "la clé usb n'est pas là"
fi

explication : grep -c sert à conter le nombre d'occurrence de la chaine "/home/ubuntu dans le fichier /etc/mtab
Si le nombre est > 0 ( -gt 0) alors ca veut dire que la clé USB est monté ...

A toi de continuer !

Hors ligne

#7 Le 06/06/2008, à 16:14

tuxce

Re : Tester si ma clé est montée sous Ubuntu

sinon, juste

if sudo mount /dev/sda1 /home/ubuntu
then
  echo montée
else
  echo erreur
fi

suffit tongue

Hors ligne

#8 Le 06/06/2008, à 20:40

smo

Re : Tester si ma clé est montée sous Ubuntu

ola

sudo blkid est pas mal aussi ...

++

Hors ligne

#9 Le 08/06/2008, à 12:50

Papipen

Re : Tester si ma clé est montée sous Ubuntu

tuxce a écrit :

sinon, juste

if sudo mount /dev/sda1 /home/ubuntu
then
  echo montée
else
  echo erreur
fi

suffit tongue

Alors ça par contre, j'ai deja testé et ça n'a pas fonctionné.

#10 Le 08/06/2008, à 13:30

Papipen

Re : Tester si ma clé est montée sous Ubuntu

Merci beaucoup Elemmire big_smile. Ça marche wink