#1 Le 08/05/2021, à 11:46
- JME44
[Résolu]script bash pour savoir si un disque est monté
Une contribution sous forme de script bash.
L'intérêt de cette solution est qu'elle s'applique à des disques réseau sans générer un gros trafic ;
L'inconvénient est que si le serveur est en veille ou arrêté, le temps d'attente peut être long (CTRL C pour sortir)
#! /bin/bash
#
# Usage : mounted /PointDeMontage
#
# if (("$?" == 0)); then echo "$1 est monté" ; else echo "$1 n'est pas monté" ; fi
mounted ()
{
NOMBRE=`ls -l $1 | grep ^d | wc -l`
if (("$NOMBRE" == 0))
then return 1 # non monté
else return 0 # monté
fi
}
Dernière modification par JME44 (Le 07/08/2021, à 12:30)
Ubuntu 24.04 sur AMD Ryzen 7 2700x et autres sous diverses versions d'Ubuntu, y compris sur Raspberry.
Hors ligne
#2 Le 09/05/2021, à 20:15
- Vobul
Re : [Résolu]script bash pour savoir si un disque est monté
Ton script ne fonctionne pas si le dossier est vide ou ne contient pas de dossier.
Une meilleur approche (que j'utilise moi-même) :
mount | grep /chemin/vers/dossier
La commande "mount" sans arguments te retourne tout ce qui est monté, t'as plus qu'à grep le chemin que tu veux.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#3 Le 09/05/2021, à 21:28
- Watael
Re : [Résolu]script bash pour savoir si un disque est monté
findmnt !
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 10/05/2021, à 07:06
- Qid
Re : [Résolu]script bash pour savoir si un disque est monté
Tien ça peut m'intéresser tout ça car dans mon cas j'ai un disque dur USB branché à un serveur auquel j'accède soit par ssh/sshfs soit par NFS et là seule chose que je fais en cas de souci d'accès c'est simplement de le démonter puis de le remonter...
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#5 Le 10/05/2021, à 10:40
- Vobul
Re : [Résolu]script bash pour savoir si un disque est monté
findmnt !
Ben tu vois je ne connaissais pas cette commande ! Elle est plus lisible que "mount".
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#6 Le 10/05/2021, à 11:40
- Qid
Re : [Résolu]script bash pour savoir si un disque est monté
Watael a écrit :findmnt !
Ben tu vois je ne connaissais pas cette commande ! Elle est plus lisible que "mount".
moi j'attend d'avoir un peu plus d'enrobage... dixit une autre de mes interventions : balancer une commande sans rien dire de plus n'est pas sein du tout sur un forum d'entraide comme le notre
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#7 Le 10/05/2021, à 11:46
- JME44
Re : [Résolu]script bash pour savoir si un disque est monté
mount | grep /chemin/vers/dossier
findmnt !
Merci à tous deux
Je ne sais lequel adopter, mais j'abandonne mon ls.
Ubuntu 24.04 sur AMD Ryzen 7 2700x et autres sous diverses versions d'Ubuntu, y compris sur Raspberry.
Hors ligne
#8 Le 10/05/2021, à 12:15
- bruno
Re : [Résolu]script bash pour savoir si un disque est monté
Au sein de man mount :
Pour une sortie plus robuste et paramétrable, utilisez findmnt(8), en particulier dans les scripts. Remar‐
quez que les caractères de contrôle dans le nom de point de montage sont remplacés par des « ? ».
#9 Le 10/05/2021, à 12:33
- Vobul
Re : [Résolu]script bash pour savoir si un disque est monté
moi j'attend d'avoir un peu plus d'enrobage... dixit une autre de mes interventions : balancer une commande sans rien dire de plus n'est pas sein du tout sur un forum d'entraide comme le notre
On en revient souvent à cette discussion : quel niveau de manopréhension appliquer. Ici l'utilisateur ne demande pas d'aide mais propose une solution à un problème qu'il a. Les autres utilisateurs du forum lui proposent d'autres approches. À mon humble avis la simple mention d'une commande est ici suffisante. Ce ne serait pas le cas pour quelqu'un qui inclue dans son message "je débute" ou "je ne maîtrise pas la ligne de commande".
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#10 Le 10/05/2021, à 13:15
- Qid
Re : [Résolu]script bash pour savoir si un disque est monté
@ Vobul : pas faux... C'est vrai que le contexte est différent... Mais ça n'empêche pas que pour que ça puisse servir à d'autres (c'est d'ailleurs pour ça que je suis là) c'est quand-même bien d'expliquer un peu pourquoi on propose cette commande
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#11 Le 10/05/2021, à 13:25
- Qid
Re : [Résolu]script bash pour savoir si un disque est monté
Watael a écrit :findmnt !
Ben tu vois je ne connaissais pas cette commande ! Elle est plus lisible que "mount".
moi je viens de regarder un peu le man et d'essayer et je ne vois pas trop la différence avec "lsblk" ou "df -aTh" que j'utilise déjà régulièrement... ça fait beaucoup de commande qui font à peu près la même chose
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#12 Le 10/05/2021, à 13:27
- MicP
Re : [Résolu]script bash pour savoir si un disque est monté
Bonjour
Pour éviter toute confusion, il faudrait remplacer "Disque" par Système de fichiers dans le titre de ce fil.
Dernière modification par MicP (Le 10/05/2021, à 13:28)
Hors ligne
#13 Le 10/05/2021, à 17:34
- Hizoka
Re : [Résolu]script bash pour savoir si un disque est monté
Watael est peu loquasse mais pour le coup, son intervention est suffisante puisqu'elle a permis de faire découvrir la commande à plusieurs personnes (dont moi).
Merci Watael
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#14 Le 10/05/2021, à 17:46
- Qid
Re : [Résolu]script bash pour savoir si un disque est monté
Watael est peu loquasse mais pour le coup, son intervention est suffisante puisqu'elle a permis de faire découvrir la commande à plusieurs personnes (dont moi).
Moi aussi... Mais pour le coup ça a entraîné une question à laquelle je n'ai pas encore de réponse
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#15 Le 10/05/2021, à 17:57
- Vobul
Re : [Résolu]script bash pour savoir si un disque est monté
moi je viens de regarder un peu le man et d'essayer et je ne vois pas trop la différence avec "lsblk" ou "df -aTh" que j'utilise déjà régulièrement... ça fait beaucoup de commande qui font à peu près la même chose
Il y a toujours eu plusieurs commandes qui faisaient la même chose / plusieurs façons de faire. Et c'est bien d'en avoir plusieurs sous la main. Car un jour tu vas te retrouver avec "lsblk: command not found" et tu seras content de connaître "df -aTh". Après y'a des différences dans l'affichage, lsblk ou findmount font un retour plus lisible. Et avec "df" tu peux pas avoir les UUID, alors qu'avec "lsblk -f" tu les as. Donc oui les deux commandes peuvent avoir un output similaire sur certaines commandes mais cela ne signifie pas qu'elles sont redondantes entièrement.
Par exemple pas plus tard que tout à l'heure j'indique à ma collègue de faire "findmount" sur une Fedora, et la commande n'existe pas, donc j'ai fallback sur "mount". C'est juste ajouter plus de cordes à ton arc que de connaître plusieurs façons de faire.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#16 Le 10/05/2021, à 18:42
- Qid
Re : [Résolu]script bash pour savoir si un disque est monté
Je vois le genre... C'est sûr que d'un Linux à l'autre certaines commandes ne sont pas universelles...
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#17 Le 10/05/2021, à 22:59
- Watael
Re : [Résolu]script bash pour savoir si un disque est monté
findmount n'existe peut-être sur aucune distribution.
findmnt est une commande issue d'un paquet venant de kernel.org, ça devrait être assez "universel", non ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#18 Le 11/05/2021, à 10:17
- Vobul
Re : [Résolu]script bash pour savoir si un disque est monté
findmount n'existe peut-être sur aucune distribution.
maintenant que tu le dis, il est fort possible que je lui ai indiqué "findmount" et pas "findmnt"
Mais bon sur un bsd par exemple cette commande n'existe pas, donc mon point reste valide
Dernière modification par Vobul (Le 11/05/2021, à 10:17)
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#19 Le 11/05/2021, à 10:41
- Watael
Re : [Résolu]script bash pour savoir si un disque est monté
BSD, ce n'est pas Linux. disqualifié !
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#20 Le 11/05/2021, à 12:50
- MicP
Re : [Résolu]script bash pour savoir si un disque est monté
Par contre, la commande findmnt existe sur freeBSD
Hors ligne