#26 Le 12/06/2026, à 11:31
- argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
[Merci, je vais voir de plus près et répondre à vos messages à mon retour!] ![]()
Hors ligne
#27 Le 12/06/2026, à 16:38
- RaphaelG
Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
je revois ma copie puisque je me suis fait enguirlander par Watael.
J'ai encore modifié le fichier dlink.conf. Il n'y a pas de raison que le 1er montage ne soit pas préfacé par sudo.
montages$ cat dlink2.conf
sudo 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
montages$ Mon nouveau script :
#!/usr/bin/bash
Conf="./dlink2.conf" # C'est mieux de mettre le chemin absolu
declare -a cmd
while read cmd
do
echo ${cmd[0]} | bash -s # Le -s est important
done < $Conf
montages$Si vraiment, il faut bannir le fichier tiers dlink.conf alors on peut utiliser le script de Watael en #6 ou encore plus simple, enchaîner les 3 mounts comme l'OP le faisait en #1 ou d'utiliser fstab comme le préconisent krodelabestiolle et iznobe.
Pourquoi faire compliquer quand on peut faire simple, KISS, toussa ...
Hors ligne
#28 Le 12/06/2026, à 18:32
- Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
#declare -a cmd
while read -a cmd
domais si tu sais que tu ne va utiliser que le premier champ d'un enregistrement :
while read cmd toutlLeReste
doConnected \o/
Welcome to sHell. · eval is evil.
En ligne
#29 Le 12/06/2026, à 19:43
- RaphaelG
Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
En #27 mon array ne contient qu'une seule grosse colonne.
Avec ta proposition, l'array va contenir 8 colonnes et il faut que je les utilises toutes.
montages$ cat montages3.sh
#!/usr/bin/bash
Conf="./dlink2.conf" # C'est mieux de mettre le chemin absolu
while read -a cmd
do
echo ${cmd[@]} | bash -s # Le -s est important
done < $Conf
montages$ On gagne 1 ligne.
Hors ligne
#30 Le 12/06/2026, à 20:18
- argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
Bonsoir,
"C'est fastoche, argolance est nul de ne pas trouver comment faire".
![]()
En tout cas pas de formation dans le domaine et des lacunes... abyssales! Mon code? Du gros qui tache sans doute un peu mais qui marche au bout du compte, avec de l'aide! Si on ajoute à ça pas pratiqué (GTKDIALOG pour Puppy) depuis plusieurs années... ![]()
Juste un jeu, des énigmes à résoudre, des heures de bidouille et puis... Eureka! ![]()
Prenant mais passionnant, magique! Échanger avec des personnes dont je ne verrai probablement jamais le visage, parfois à l'autre bout du monde! Voilà pour la profession de foi, totalement hors-sujet! ![]()
----------------------------------------------------------------------------
@RaphaelG et @Watael
montages$ cat dlink2.conf
[...]
montages$montages$? Qu'est-ce?
En tout cas:
#!/bin/sh
Conf=".config/dlink.conf"
declare -a cmd
while read cmd
do
echo ${cmd[0]} | bash -s
done < $Conf... est parfaitement opérationnel, avec un dlink.conf qui contient uniquement les lignes de sudo mount -t xxx.
Question: L'option -s qui est importante, correspond à quoi?
Maintenant, comment "marier" ce code avec Zenity, qui est présent sur toutes les distributions je crois.
J'ai fait des essais mais la demande de mot de passe en mode graphique par Zenity n'est pas prise en compte. Le montage se fait sans!
Merci!
Dernière modification par argolance (Le 12/06/2026, à 21:06)
Hors ligne
#31 Le 12/06/2026, à 20:32
- Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
Avec ta proposition, l'array va contenir 8 colonnes et il faut que je les utilises toutes.
pourquoi utiliser un array, alors ?
fais juste :
while read cmd
do
echo $cmd | bash -s
done <"$cmdFile"non ?
et pourquoi pas simplement
xargs --replace='{}' --arg-file="$cmdFile" bash -c {}?
edit: remplacement des options courtes par des longues, dans la commande xargs, pour davantage de lisibilité.
Dernière modification par Watael (Le 13/06/2026, à 12:42)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#32 Le 12/06/2026, à 21:57
- argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
Avec ta proposition, l'array va contenir 8 colonnes et il faut que je les utilises toutes.
pourquoi utiliser un array, alors ?
fais juste :while read cmd do echo $cmd | bash -s done <"$cmdFile"non ?
et pourquoi pas simplement
xargs -i -a "$cmdFile" bash -c {}?
Les deux fonctionnent, la deuxième très "simple" est parfaite.
Tout l'intérêt d'un fichier contenant les lignes de commandes mount, c'est que celles qui sont commentées sont ignorées et les dossiers correspondants non montés. Ce fichier peut être édité via mon interface graphique et les lignes configurées selon les besoins du poste de travail. C'est le but recherché en fait!
Reste Zenity ou Yad, qui fonctionne de la même façon...
Hors ligne
#33 Le 13/06/2026, à 11:44
- argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
Bonjour et un grand merci à vous. Communauté Ubuntu.fr toujours aussi vivace. ![]()
Les derniers posts de RaphaelG et Watael répondant pleinement à l'intitulé du sujet de ce fi, je le considère et marque donc comme RÉSOLU.
Le problème posé par Zenity/Yad étant hors-sujet, je vais poser la question dans un autre post.
Hors ligne
#34 Le 13/06/2026, à 12:21
- RaphaelG
Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
Des explications par rapport à ton message #30
......
montages$? Qu'est-ce?
......
Question: L'option -s qui est importante, correspond à quoi?
.....
"montages$ ", c'est juste mon prompt ($PS1) qui me montre juste le dernier élément de mon working directory. Derrière tu me vois taper la commande cat.
Pour l'option "-s" de bash je dirai RTFM, man bash.
-s If the -s option is present, or if no arguments remain after
option processing, then commands are read from the standard
input. This option allows the positional parameters to be
set when invoking an interactive shell or when reading input
through a pipe.
Je trouve la commande xargs encore plus difficile à appréhender et à maîtriser.
Et en plus c'est une commande externe alors que la boucle while, read et echo sont toutes des commandes internes à bash. (ça c'est une petite pique pour Watael. ;-)
Hors ligne
#35 Le 13/06/2026, à 12:39
- Watael

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
une boucle while devrait pouvoir construire une chaîne de commandes pour que cette dernière soit passée en une seule fois à un shell, plutôt que d'invoquer celui-ci autant de fois qu'il y a de commandes.
while read cmd
do
[[ $cmd == \#* ]] && continue
cmds="${cmds:+$"cmds; "}$cmd"
done
echo "$cmds" | bash -sce que ne fait pas xargs.
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#36 Le 13/06/2026, à 13:04
- argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
Le problème posé par Zenity/Yad étant hors-sujet, je vais poser la question dans un autre post.
Problème également résolu: lancé en console, il me semble qu'il doit y avoir redondance de la commande sudo, ce qui n'a pas lieu lancé à partir du script lui-même.
Donc:
Le fichier de la liste des commandes mount (commentées ou pas selon les besoins) sans les sudo.
mount -t cifs -o wwwww
mount -t cifs -o xxxxxx
#mount -t cifs -o yyyyyy
mount -t cifs -o zzzzzzDans le script (avec l'une ou l'autre proposition de RaphaelG et Watael)
Avec YAD:
yad --skip-taskbar \
--center \
--width=400 \
--borders=10 \
--undecorated \
--image /opt/dlink/authentication.png \
--entry --entry-label="Mot de passe :"\
--hide-text \
--button=gtk-ok:0 \
--button=gtk-cancel:1 \
--text-align=center \
--text="<span font='15'>Authentification...</span>" | sudo -S xargs -i -a "$HOME/.config/dlink.conf" bash -c {}Zenity:
zenity --password --title "Mot de passe utilisateur $USER..." | sudo -S ...NOTE: les dossiers de montage cibles doivent être créés préalablement (mkdir...) pour que ces commandes fonctionnent en l'état. Le script complet dont cette commande n'est qu'une partie, fait automatiquement ça à la première exécution du programme si les dossiers cibles n'existent pas.
Dernière modification par argolance (Le 13/06/2026, à 13:47)
Hors ligne
#37 Le 13/06/2026, à 13:06
- argolance

Re : [RÉSOLU] Plusieurs <source> <répertoire> avec la commande "mount"
@Watael : Merci pour les précisions et le temps que tu, que vous avez bien voulu consacrer à ce sujet.
Hors ligne
#38 Le 20/06/2026, à 19:55
- argolance

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