• # mais il reste un problème

    Posté par . En réponse au message environnement non transmis par variable environ. Évalué à 1.

    voici la sortie du programme répertorié dans le livre de christophe blaess:

    echo $SHLVL
    1
    ./exemple-execve
    2
    sh
    ./exemple-execve
    3
    exit
    ./exemple-execve
    2

    avec pour fichier c:

    extern char ** environ;
    int main(int argc, char ** argv)
    {
    char* args[]= {"bash", "-c", "echo $SHLVL", (char*) NULL};
    execve("/bin/bash", args, environ);
    return EXIT_SUCCESS;
    }

    et ceci seulement après avoir changé les "sh" en "bash".
    l'appel à un autre shell par "sh", ne modifie pas le nombre contenu dans la variable $SHLVL.

    gunsailor@soulfly:~$ echo $SHLVL
    1
    gunsailor@soulfly:~$ ./exemple-execve
    2
    gunsailor@soulfly:~$ sh
    $ ./exemple-execve

    2

    je n'avait pas bien compris l'allusion de Benoît. désolé.
    mais cela ne fonctionne toujours pas!
    avez-vous des retours sur ce bouquin ?
    merci d'avance