• # 1er deffrichage

    Posté par . En réponse au journal Script pour Admins GL. Évalué à 2.

    (je me demande si le precedent n'a pas été effacé parcequ'il serait mieux dans les forums, en fait)

    1er point, pour éviter de faire des evals de noms de variable concaténés: utilise un tableau !
    à la place de eval "process$varmenuprocess=$process" utilise process_array[$varmenuprocess]=$process
    , et à la fin pour récuperer le choix de l'utilisateur, fais read processnumber;
    echo ${process_array[$processnumber]}


    2eme point, et là c'est le vrai probleme du script en fait (je pense que sinon il marcherait avec ta concaténation,
    même si c'est pas tres beau): quand tu fais un pipe de commande, le shell lance un nouveau processus,
    avec ses propres variables d'environnement. Donc tout ce qui est dans le while de
    cat gllist.dat |grep $hostname |
    while read ligne; do.... done

    s'execute dans un nouveau shell, et toutes les variables que tu peux déclarer/modifier à l'interieur
    ne seront pas vues à l'extérieur, donc dans la suite de ton script.

    Il faut donc se débrouiller pour éviter cette structure de pipe. Là tout de suite, je ne sais pas comment faire.