• [^] # Re: pourquoi ne pas faire simplement

    Posté par (site web personnel) . En réponse au message Substitution de commande et dialog. Évalué à 1.

    Ta solution fait avancé le problème, merci.

    Mais, le soucis vient maintenant de mon ${plugins_options} à mon avis car en faisant :

    #!/bin/bash
    plugin_options=$(list_plugins_for_menu "${plugins}")
    echo ${plugins_options}
    choices=$(dialog --stdout --backtitle "Choisissez les plugins à installer" --title "Plugins à installer" --checklist "Sélectionnez le ou les plugins à installer sur le serveur" 20 61 5 ${plugin_options})
    
    

    J'ai l'erreur :

    Error: Expected 3 arguments, found only 2.
    Use --help to list options.

    et ça m'affiche bien cela :

    "openerp" "Installation d'OpenERP" off "lamp" "Installation du serveur web" off "security" "Installation de la partie securite" on

    Donc, il me semble que les options sont bien échappées vu que le echo les affiche comme elles devraient l'être dans la commande, j'ai tort ?

    Pour résumer :

    • ceci fonctionne :

      #!/bash
      choices=$(dialog --stdout --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)
      
    • ceci ne fonctionne pas :

      #!/bash
      plugin_options="\"openerp\" \"Installation d'OpenERP\" off \"lamp\" \"Installation du serveur web\" off \"security\" \"Installation de la partie securite\" on"
      choices=$(dialog --stdout --backtitle "Choisissez les plugins à installer" --title "Plugins à installer" --checklist "Sélectionnez le ou les plugins à installer sur le serveur" 20 61 5 ${plugin_options})
      

    Et je n'arrive pas à comprendre pourquoi...