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 08/05/2021, à 12: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, à 13:30)


Ubuntu 22.04 sur AMD Ryzen 7 2700x et autres sous diverses versions d'Ubuntu, y compris sur Raspberry.

Hors ligne

#2 Le 09/05/2021, à 21: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, à 22: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, à 08: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, à 11:40

Vobul

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".


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, à 12:40

Qid

Re : [Résolu]script bash pour savoir si un disque est monté

Vobul a écrit :
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, à 12:46

JME44

Re : [Résolu]script bash pour savoir si un disque est monté

Vobul a écrit :

mount | grep /chemin/vers/dossier

Watael a écrit :

findmnt !

Merci à tous deux

Je ne sais lequel adopter, mais j'abandonne mon ls.


Ubuntu 22.04 sur AMD Ryzen 7 2700x et autres sous diverses versions d'Ubuntu, y compris sur Raspberry.

Hors ligne

#8 Le 10/05/2021, à 13:15

bruno

Re : [Résolu]script bash pour savoir si un disque est monté

Au sein de man mount :

man mount a écrit :

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 « ? ».

Hors ligne

#9 Le 10/05/2021, à 13:33

Vobul

Re : [Résolu]script bash pour savoir si un disque est monté

Qid a écrit :

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, à 14: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, à 14:25

Qid

Re : [Résolu]script bash pour savoir si un disque est monté

Vobul a écrit :
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, à 14: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, à 14:28)

Hors ligne

#13 Le 10/05/2021, à 18: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 smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#14 Le 10/05/2021, à 18:46

Qid

Re : [Résolu]script bash pour savoir si un disque est monté

Hizoka a écrit :

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, à 18:57

Vobul

Re : [Résolu]script bash pour savoir si un disque est monté

Qid a écrit :

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, à 19: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, à 23:59

Watael

Re : [Résolu]script bash pour savoir si un disque est monté

findmount n'existe peut-être sur aucune distribution. lol

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, à 11:17

Vobul

Re : [Résolu]script bash pour savoir si un disque est monté

Watael a écrit :

findmount n'existe peut-être sur aucune distribution. lol

maintenant que tu le dis, il est fort possible que je lui ai indiqué "findmount" et pas "findmnt" big_smile

Mais bon sur un bsd par exemple cette commande n'existe pas, donc mon point reste valide wink

Dernière modification par Vobul (Le 11/05/2021, à 11: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, à 11:41

Watael

Re : [Résolu]script bash pour savoir si un disque est monté

BSD, ce n'est pas Linux. disqualifié ! wink


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#20 Le 11/05/2021, à 13:50

MicP

Re : [Résolu]script bash pour savoir si un disque est monté

Hors ligne