bash, créer dynamiquement une liste de paramètres pour appeler une commande

2015-01-07

Voici comment créer dynamiquement une liste de paramètres et l’utiliser dans des appels de commande. Le cas des espaces dans les options est bien géré.

Dans le cas présent, cela sert à afficher une boite de dialogue (utilitaire whiptail livré d’office sous debian) pour que l’utilisateur puisse choisir les actions à effectuer

$ opts=("Redémarrer fitnesse" "" off)
$ [[ $available -eq 1 ]] && opts+=("Redémarrer tomcat" "" off)
$ retour=$(whiptail --title "Fitnesse" --checklist "Sélectionner les options" 15 60 8 "${opts[@]}" 3>&1 1>&2 2>&3)
$ echo $retour
"Redémarrer fitnesse" "Redémarrer tomcat"