Commit 695b5516 authored by HS-157's avatar HS-157
Browse files

Rajout des menus

parent 38cbed19
......@@ -12,8 +12,56 @@
# #
################################################
set -u # Permet de générer une erreur quand on utilise une variable non-initialisé
#set -u # Permet de générer une erreur quand on utilise une variable non-initialisé
menu() # Fonction pour afficher un menu
{ # Prend en entré une liste
PS3="Choississez : "
select choix # Et renvoie qu'un seul élément de cette liste
do #
echo "Votre choix : $choix" #
break #
done #
}
menu_multiple()
{
file=("$@")
menuitems()
{
echo "Option valabe :"
for i in ${!file[@]}; do
printf "%3d%s) %s\n" $((i+1)) "${choices[i]:- }" "${file[i]}"
done
[[ "$msg" ]] && echo "$msg"; :
}
prompt="Choississez (Appuyer sur Entrée pour valider) : "
while menuitems && read -rp "$prompt" num && [[ "$num" ]]; do
[[ "$num" != *[![:digit:]]* ]] && (( num > 0 && num <= ${#file[@]} )) || {
msg="Option invalide : $num"; continue
}
if [ $num == ${#file[@]} ];then
exit
fi
((num--)); msg="${file[num]} a été ${choices[num]:+dé}selectionné"
[[ "${choices[num]}" ]] && choices[num]="" || choices[num]="×"
clear
done
msg="Rien !"
for i in ${!file[@]}; do
[[ "${choices[i]}" ]] && { tableau[${#tableau[@]}]="${file[i]}"; msg="${tableau[*]}"; }
done
echo "Vous avez sélectionné : $msg"
}
choix=""
machine=""
erreur=0
pwd=$(pwd) # Chemin du git
lien=( #Programme HOME git
......@@ -29,32 +77,44 @@ portable=("vim" "i3" "i3blocks" "zsh" "Xresources" "alias") # Fichiers de config
tour=("vim" "i3" "i3blocks" "zsh" "Xresources" "alias") # Fichiers de configuration pour la tour
serveur=("vim" "zsh" "alias") # Fichiers de configuration pour le serveur
# Menu pour choisir les fichers à appliquer
# case machin
# machin machin
# copier le tuple dans $machine
#
configue=("Portable" "Tour" "Serveur" "Manuel" "Quitter") # Liste des différents configurations
clear
while [ $erreur -eq 0 ]; do
erreur=1
menu ${configue[@]}
case "$choix" in
"${configue[0]}" ) machine=${portable[@]};;
"${configue[1]}" ) machine=${tour[@]};;
"${configue[2]}" ) machine=${serveur[@]};;
"${configue[-2]}" )
clear
for ((i=0; i<${#lien[@]}; i+=3)); do
liste=("${liste[@]}" "${lien[i]}")
done
liste=("${liste[@]}" "Quitter")
menu_multiple ${liste[@]}
machine=("${tableau[@]}")
;;
"${configue[-1]}" )
echo "Quitte"
exit
;;
* )
echo "Mauvais choix !"
erreur=0
esac
echo
done
for ((i=0; i<${#lien[@]}; i+=3)); do
lien_home=$HOME/${lien[i+1]}
lien_git=$pwd/${lien[i+2]}
for f in ${serveur[@]} ; do ### Choisir la machine ! ### Changer la variable
for f in ${machine[@]} ; do
if [[ ${lien[i]} == $f ]]
then
......@@ -91,5 +151,4 @@ fi
# sinon passe
done
done
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment