• # Processus et processus fils

    Posté par (site web personnel) . En réponse au message environnement non transmis par variable environ. Évalué à 4.

    Nb: éviter d'utiliser test.c et test comme nom de programme, pour ne pas se retrouver à lancer /bin/test involontairement...

    $ test
    $ ./test
    1 coin

    Du coup je garde mon a.out comme nom d'exécutable.

    En remplaçant sh par bash deux fois :

    $ ./a.out 
    2

    Et tant qu'on y est avec char* args[] = {"sh", "-c", "echo $SHLVL $a", (char*) NULL};

    $ unset a ; ./a.out 
    1
    $ unset a ; a=coin ; ./a.out 
    1
    $ unset a ; export a=coin ; ./a.out 
    1 coin
    $ unset a ; declare -x a=coin ; ./a.out 
    1 coin