Script bash utilisant dialog
RésoluBonjour.
Je ne connais pas grand chose à la programmation script et après avoir consulté une bonne cinquantaine de pages et sites dédiés à "dialog" et ses exemples, je ne sais pas comment réaliser la fonction suivante.
Je pars sur la base de ce script pour réaliser un projet de menu de sélection d'applications locales :
#!/bin/bash
cmd=(dialog --separate-output --checklist "Select options:" 22 76 16)
options=(1 "Option 1" off # any option can be set to default to "on"
2 "Option 2" off
3 "Option 3" off
4 "Option 4" off)
choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
clear
for choice in $choices
do
case $choice in
1)
echo "First Option"
;;
2)
echo "Second Option"
;;
3)
echo "Third Option"
;;
4)
echo "Fourth Option"
;;
esac
done
Il permet de sélectionner plusieurs items - comme je le souhaite.
Mais j'aimerais qu'en sélectionnant la "Première option" toutes les autres soient aussi sélectionnées, c'est-à dire-l'équivalent d'un "Tout sélectionner" en choisissant la seule "Première option" et uniquement celle-ci.
Est-ce possible ?
Merci d'avance pour votre aide.
- Script les visiteurs pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Script vidéo youtube - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Toutes les formules mathématiques pdf - Télécharger - Études & Formations
2 réponses
Bonjour,
Merci de partager tes futurs extraits de code comme expliqué dans ce tutoriel.
Tu peux te reporter à ce message, qui répond exactement à ta question.
#!/bin/bash
onoff=off
cmd=(dialog --output-fd 1 --separate-output --extra-button --extra-label "Select All" --cancel-label "Select None" --checklist "Select options:" 0 0 0)
load-dialog () {
options=(
1 "Option 1" $onoff
2 "Option 2" $onoff
3 "Option 3" $onoff
4 "Option 4" $onoff
)
choices=$("${cmd[@]}" "${options[@]}")
}
load-dialog
exit_code="$?"
while [[ $exit_code -ne 0 ]]; do
case $exit_code in
1) clear; onoff=off; load-dialog;;
3) clear; onoff=on; load-dialog;;
esac
exit_code="$?"
done
clear
for choice in $choices
do
case $choice in
1) echo "First Option";;
2) echo "Second Option";;
3) echo "Third Option";;
4) echo "Fourth Option";;
esac
done
Bonne chance