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 09/06/2026, à 10:55

argolance

[RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Bonjour,
Exemple:

mount -t cifs -o xxxxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/DOCUMENTS $HOME/Documents/DOCUMENTS;
mount -t cifs -o xxxxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/IMAGES $HOME/Images/IMAGES;
mount -t cifs -o xxxxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/MUSIQUE $HOME/Musique/MUSIQUE [etc]

Est-il possible de tout écrire dans une seule ligne sans avoir à répéter la commande mount, !es options et enchaîner les sources et les répertoires de montage?
Merci!

Dernière modification par argolance (Le 13/06/2026, à 11:45)

Hors ligne

#2 Le 09/06/2026, à 12:40

krodelabestiole

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

fstab est là pour ça : https://doc.ubuntu-fr.org/fstab
puis

mount -a

Hors ligne

#3 Le 09/06/2026, à 17:11

RaphaelG

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Ou tu mets ces 3 commandes dans un script, appelons le more-mounts, que tu mets dans le répertoire $HOME/bin (avec un peu de chance $HOME/bin est déjà dans ton PATH) et tu appelles more-mounts à chaque fois que tu veux accéder à ces ressources.

En ligne

#4 Le 09/06/2026, à 19:21

argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

@krodelabestiole, Merci mais je ne souhaite pas faire appel à fstab, juste monter ponctuellement les dossiers en faisant appel à un script YAD avec demande de mot de passe et pour le montage et pour le démontage qui lui, fonctionne parfaitement...

[...] sudo --stdin umount /mnt/DLINK/ISOS /mnt/DLINK/Logiciels /mnt/DLINK/Sites /mnt/DLINK/.courriels $HOME/Documents/DOCUMENTS $HOME/Images/IMAGES $HOME/Musique/MUSIQUE $HOME/Vidéos/VIDÉOS

J'aurais voulu l'équivalent pour le montage.
@RaphaelG
Merci, c'est la solution sur laquelle je pensais finalement me rabattre, mais je voulais quand même savoir s'il était possible de "concaténer" en quelque sorte ces commandes en une seule.

Dernière modification par argolance (Le 09/06/2026, à 20:51)

Hors ligne

#5 Le 09/06/2026, à 21:04

RaphaelG

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

A ma connaissance, non. Mais OSEF puisque ces 3 lignes tu les a rentrées 1 et 1 seule fois dans ton script et ensuite tu n'auras plus à les taper.

En ligne

#6 Le 09/06/2026, à 21:25

Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

#!/bin/bash

declare -a montages=( 'images' 'documents' 'musiques' )

for i in "${montages[@]}"
do
    mount -t cifs -oxxxx,credentials='/etc/.DLINK.mdp' //192.168.1.33/volume_1/"${i^^}" "$HOME/${i^}/${i^^}"
done

à créer en tant que root !


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

En ligne

#7 Le 09/06/2026, à 22:32

argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Un grand merci!
Juste pour tester j'ai collé en console :

declare -a montages=( 'images' 'documents' 'musique' )

for i in "${montages[@]}"
do
   echo  //192.168.1.33/volume_1/"${i^^}" "$HOME/${i^}/${i^^}"
done

et obtenu:

//192.168.1.33/volume_1/IMAGES /home/imac-a1312/Images/IMAGES
//192.168.1.33/volume_1/DOCUMENTS /home/imac-a1312/Documents/DOCUMENTS
//192.168.1.33/volume_1/MUSIQUE /home/imac-a1312/Musique/MUSIQUE

Bluffé je suis cool! Majuscules, minuscules, bref tout y est! Quelques explications, c'est possible?

Hors ligne

#8 Le 09/06/2026, à 23:02

Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

c'est bash. wink

man -P 'less -p "^\s+Développement des paramètres"' bash

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

En ligne

#9 Le 10/06/2026, à 06:13

krodelabestiole

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

argolance a écrit :

"concaténer" en quelque sorte ces commandes en une seule.

tu peux les lier par && (la suivante sera seulement appelée si la précédente a réussi) ou ; elle sera appelée aussi après un échec.


mais sinon fstab est quand même fait expressément pour ne pas avoir à renseigner les commandes mount avec les options à chaque fois.
si la ligne n'est pas en auto, rien n'est monté automatiquement et tu peux seulement utiliser mount beaucoup plus facilement (ou directement l'interface graphique wink).
je ne vois pas ce qui te retiens, si tu as peur de casser ton système tu peux tester avant de redémarrer...

Hors ligne

#10 Le 10/06/2026, à 11:28

argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Merci à tous pour vos réponses.
Question subsidiaire:

zenity --password --title "Demande du mot de passe $USER" | sudo --stdin mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/DOCUMENTS $HOME/Documents/DOCUMENTS;
sudo mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/IMAGES $HOME/Images/IMAGES;
sudo mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/MUSIQUE $HOME/Musique/MUSIQUE

... fonctionne.
Mais comment, si c'est possible, faire fonctionner (ça le fait s'il n'y a qu'une seule ligne de commande mount...):
dlink.conf:

mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/DOCUMENTS $HOME/Documents/DOCUMENTS;
sudo mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/IMAGES $HOME/Images/IMAGES;
sudo mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/MUSIQUE $HOME/Musique/MUSIQUE
CMD=$(cat dlink.conf)
zenity --password --title "Demande du mot de passe $USER" | sudo --stdin $CMD

Je me suis fait (pour le fun, pour apprendre et en ce qui me concerne, la simplicité d'utilisation) un petit programme sh en deb avec interface graphique et raccourci dans la barre de lancement d'applications, facilement installable/dés-installable, qui fait le job à la demande sur les quatre ordinateurs de la maison ou n'importe quel ordinateur de passage, sans terminal, sans avoir à bidouiller dans le fstab, que j'ai d'ailleurs testé au départ mais qui ne m'a pas offert la même souplesse, au regard des petites connaissances que j'en ai en tout cas.

Hors ligne

#11 Le 10/06/2026, à 11:32

iznobe

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Bonjour , tout ça ne sert absolument à rien .


Puisqu ' un partage est configuré sur le NAS dlink , il suffit d' ajouter les signets au gestionnaire de fichiers .

Il suffira alors de cliquer dessus pour que le montage se fasse automatiquement .

Hors ligne

#12 Le 10/06/2026, à 11:46

steph810

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Watael a écrit :

c'est bash. wink

man -P 'less -p "^\s+Développement des paramètres"' bash

bash n'est pas en francais:

man bash | col -b | less +/Parameter\ Expansion

Hors ligne

#13 Le 10/06/2026, à 11:52

Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

iznobe a écrit :

Bonjour , tout ça ne sert absolument à rien .


Puisqu ' un partage est configuré sur le NAS dlink , il suffit d' ajouter les signets au gestionnaire de fichiers .

Il suffira alors de cliquer dessus pour que le montage se fasse automatiquement .

et si on n'a pas de gestionnaire de fichiers ? big_smile


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

En ligne

#14 Le 10/06/2026, à 11:58

Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

steph810 a écrit :
Watael a écrit :

c'est bash. wink

man -P 'less -p "^\s+Développement des paramètres"' bash

bash n'est pas en francais:

man bash | col -b | less +/Parameter\ Expansion

à quoi sert col -b ?

attention, des "Parameter Expansion", il y en a quelques uns dans le man
pour atteindre le paragraphe, il faut indiquer plus précisément le début de ligne.
bon, après vérification, t'as de la chance, le premier "Parameter Expansion" est bien le paragraphe qui décrit les remplacements de paramètre. smile

Dernière modification par Watael (Le 10/06/2026, à 11:59)


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

En ligne

#15 Le 10/06/2026, à 12:10

argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

@iznobe Merci.
Le souci c'est que les dossiers montés "d'un simple clic" en effet et accessibles par le gestionnaire de fichiers (Nautilus en ce qui me concerne) sont aussi facilement... démontés, sans sommation, d'un simple clic (même accidentel!). Ma configuration fait que ces dossiers ne sont démontables que si on a le mot de passe pour le faire. Par exemple, parmi les dossiers montés il en est un qui contient tous les fichiers mails de Thunderbird. Si Thunderbird, qui va chercher ses messages toutes les x minutes perd son dossier, problème. Également pour le dossier MUSIQUE: Clémentine n'aime pas ne pas trouver sa bibliothèque. etc...

Indépendamment de sa réelle utilité et pour apprendre, j'aimerais quand même bien avoir une réponse à ma précédente question, d'autant que le fichier de configuration "dlink.conf", qui contient les lignes de commande mount peut être édité/modifié directement via mon programme, ce qui permet de monter ou ne pas monter tel ou tel dossier (dé/commenté # en début de ligne).
NOTE: Je m'aperçois que d'autres messages ont été postés entre temps...

Hors ligne

#16 Le 10/06/2026, à 14:02

iznobe

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Du coup , il y a des montages ponctuels et d ' autre pas .

Pour les montages non ponctuels , je te renvoie au 1er message de @krodelabestiole ...
Et pour les ponctuels , a mon message précédent tongue

Dernière modification par iznobe (Le 10/06/2026, à 14:03)

Hors ligne

#17 Le 10/06/2026, à 14:32

argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Oui, vous avez tous les deux sans doute raison mais:
roll

j'aimerais quand même bien avoir une réponse à ma précédente question

Si toutefois il y a une! wink
Merci.

Hors ligne

#18 Le 10/06/2026, à 15:55

Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Stéphanie Demonaco a écrit :

Vous pouvez répéter la question ?

lol

Dernière modification par Watael (Le 10/06/2026, à 15:55)


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

En ligne

#19 Le 10/06/2026, à 17:33

iznobe

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

argolance a écrit :

Merci à tous pour vos réponses.
Question subsidiaire:

zenity --password --title "Demande du mot de passe $USER" | sudo --stdin mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/DOCUMENTS $HOME/Documents/DOCUMENTS;
sudo mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/IMAGES $HOME/Images/IMAGES;
sudo mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/MUSIQUE $HOME/Musique/MUSIQUE

... fonctionne.
Mais comment, si c'est possible, faire fonctionner (ça le fait s'il n'y a qu'une seule ligne de commande mount...):
dlink.conf:

mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/DOCUMENTS $HOME/Documents/DOCUMENTS;
sudo mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/IMAGES $HOME/Images/IMAGES;
sudo mount -t cifs -o xxx,credentials=/etc/.DLINK.mdp //192.168.1.33/volume_1/MUSIQUE $HOME/Musique/MUSIQUE
CMD=$(cat dlink.conf)
zenity --password --title "Demande du mot de passe $USER" | sudo --stdin $CMD

Je me suis fait (pour le fun, pour apprendre et en ce qui me concerne, la simplicité d'utilisation) un petit programme sh en deb avec interface graphique et raccourci dans la barre de lancement d'applications, facilement installable/dés-installable, qui fait le job à la demande sur les quatre ordinateurs de la maison ou n'importe quel ordinateur de passage, sans terminal, sans avoir à bidouiller dans le fstab, que j'ai d'ailleurs testé au départ mais qui ne m'a pas offert la même souplesse, au regard des petites connaissances que j'en ai en tout cas.

Hors ligne

#20 Le 10/06/2026, à 17:58

argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

@iznobe... Merci Jean-Pierre! big_smile

Hors ligne

#21 Le 11/06/2026, à 11:11

argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Personne pour répondre à la question reprise par lznobe?
Sans doute un simple problème de syntaxe pas très compliqué à résoudre pour qui connaît bien le codage. De mon coté j'ai essayé pas mal de choses (', ", (), {}, etc), des fonctions également (avec for et while), mais sans succès, la commande mount n'est décidément pas contente.
Merci.

Hors ligne

#22 Le 11/06/2026, à 11:33

iznobe

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Dans le fstab , tu peux utilise l ' option " noauto " .

voir : https://superuser.com/questions/1038136 … t-flag-for

et / ou section 3.1.2 : https://wiki.archlinux.org/title/Fstab_(Fran%C3%A7ais)

Tout dépend du besoin .


Sinon , moi-meme , je n' ai pas compris la question .
si tu utilises un " credentials " , tu n' as pas besoin de fournir un couple " identifiant / mot de passe " puisqu ' ils sont censés justement être dans ton fichier credentials ...

Dernière modification par iznobe (Le 11/06/2026, à 11:35)

Hors ligne

#23 Le 11/06/2026, à 12:25

argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

lznobe a écrit :

Sinon , moi-meme , je n' ai pas compris la question .

Merci de ta réponse. Désolé de n'être pas plus clair.
Le contenu des commandes mount en soi importe peu et je l'ai laissé comme exemple.
Cette partie de mon script:

zenity --password --title "Demande du mot de passe $USER" | sudo --stdin mount -t cifs -o xxxxxxxxxxxxxxxxxxxxx
sudo mount -t cifs -o xxxxxxxxxxxxxxxxxxxxx
sudo mount -t cifs -o xxxxxxxxxxxxxxxxxxxxx

... fonctionne. Les commandes mount sont directement contenues et exécutées dans le corps du script.
Maintenant, comment le faire fonctionner si je récupère les commande mount à partir d'un fichier de configuration externe au script, par exemple "dlink.conf" dont le contenu est:

mount -t cifs -o xxxxxxxxxxxxxxxxxxxxx;
sudo mount -t cifs -o xxxxxxxxxxxxxxxxxxxxx;
sudo mount -t cifs -o xxxxxxxxxxxxxxxxxxxxx

... contenu chargé dans la variable CMD déclarée dans le script:

CMD=$(cat dlink.conf)

... et en modifiant le script ainsi:

zenity --password --title "Demande du mot de passe $USER" | sudo --stdin $CMD

Encore merci de ta patience!

Hors ligne

#24 Le 12/06/2026, à 03:30

RaphaelG

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

Dans un 1er temps, je me suis dit : "C'est fastoche, argolance est nul de ne pas trouver comment faire".
Et puis en réfléchissant au problème, j'ai bien vu que ce n'était pas si simple et cela m'a pris pas mal de temps, de tatonnements et de recherches pour arriver à mes fins.

J'ai un peu modifié ton fichier dlink.conf en lui enlevant les ';' finaux car j'ai pas l'impression qu'ils ne servent à grand chose. (peut être pour Zenity ?)
Tu peux les remettre si tu en ressens le besoin.

montages$ cat dlink.conf
mount -t cifs -o xxxxxxxxxxxxxxxxxxxxx
sudo mount -t cifs -o yyyyyyyyyyyyyyyyyyyyy
sudo mount -t cifs -o zzzzzzzzzzzzzzzzzzzzz
montages$

Mon script, que j'ai appelé montages.sh, n'utilise pas Zenity que je ne connais pas du tout (ni Yad d'ailleurs). J'ai du mal à voir la plus value de de ce genre de logiciel. Je te laisserai donc la charge d'intégrer mon script dans Zenity.

montages$ cat montages.sh
#!/usr/bin/bash

Conf="./dlink.conf" # dans la vraie vie, il faut mettre le chemin absolu

Ifs-origine=$IFS
IFS=$'\n' # étonnant ! Instinctivement j'aurais fait IFS='\n' mais ça marche pô

for l in $(cat $Conf) # UUOC mais j'aime pas $(<$Conf)
do echo $l | bash -s
done
IFS=$Ifs-origine  # au cas où le script continuerait avec des commandes
                  # utilisant $IFS
montages$ 

Dernière modification par RaphaelG (Le 12/06/2026, à 03:31)

En ligne

#25 Le 12/06/2026, à 03:53

Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"

mal ! C'est mal !

1/ le fichier est mal foutu : ça pourrait être un "CSV" (ou autre séparateur; une base même lightSQL3 serait surdimensionnée. déjà un fichier roll)*
2/ NON! rogntudju! pas for i in cat !**
3/ il y a plein de façons de "bien faire" avec un fichier de données "bien fait"...
un fichier qui contient des commandes EST un mauvaise idée/pratique.
mais bon, comme dit plus haut, même un fichier est un peu contre-productif.
un fichier prend sens quand les données sont partagées, ou nombreuses; une dizaine de lignes ne justifient pas un fichier.
utilisez un tableau/liste.

--
* ça, c'est pas ta faute.
** non, et non, modifier l'IFS est toujours (ou presque) une mauvaise idée/pratique.
c'est pas possible que tu aies lu mes interventions et que tu continues à pondre de tels """codes""".
on lit un fichier avec une boucle while read. <-point! mais on peut toujours mal faire autrement.


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

En ligne