URL: https://linuxfr.org/forums/programmation-shell/posts/substitution-de-commande-et-dialog Title: Substitution de commande et dialog Authors: leviathan Date: 2011年11月19日T17:29:58+01:00 Tags: Score: 1 Bonjour, je souhaite créer un menu dynamiquement via dialog dans un script sh. Si dans mon script je met : ```sh #!/bin/bash dialog --backtitle "Choisissez les plugins à installer" --title "Plugins à installer" --checklist "Sélectionnez le ou les plugins à installer sur le serveur" 20 61 5 "openerp" "Installation d'OpenERP" off "lamp" "Installation du serveur web" off "security" "Installation de la partie securite" on ``` Le menu s'affiche correctement Mais vu que le menu doit être dynamique, je construit ma commande dans une chaine que j'exécute avec la substitution de commande : ```sh #!/bin/bash plugin_options=$(list_plugins_for_menu "${plugins}") dialog_command="dialog --backtitle \"Choisissez les plugins à installer\" --title \"Plugins à installer\" --checklist \"Sélectionnez le ou les plugins à installer sur le serveur\" 20 61 5 ${plugin_options}" echo ${dialog_command} choices=$(${dialog_command}) ``` Et dans ce cas, j'obtiens une erreur : "Error: Unknown option les. Use --help to list options." Pour information : * ma fonction list_plugins_for_menu me retourne une chaine contenant les options de mon menu * ${plugins} est bien défini dans mon script * ${plugin_options} a pour valeur : "openerp" "Installation d'OpenERP" off "lamp" "Installation du serveur web" off "security" "Installation de la partie securite" on * la commande dialog que j'ai dans le script qui fonctionne est un copier-coller de celle qui est affiché avec le echo dans le script qui ne fonctionne pas. * de plus, que je passe par $() ou `` pour la substitution de commande, produit le même résultat. * enfin, même si je met sur une ligne juste ${dialog_command} sans $() ou `` le résultat produit est le même Auriez-vous une idée ou au moins une direction vers laquelle je pourrais chercher afin de trouver d'où vient le soucis ?