Pages : 1
#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é 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
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 ...
++
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#9 Le 08/06/2008, à 12:50
- Papipen
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
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 . Ça marche
Pages : 1