• [^] # Re: Curiosité

    Posté par . En réponse au journal du troll de compete. Évalué à 4.

    $ cat test.sh
    #!/bin/bash
    echo "test";
    read a;
    echo "toto : $a";

    Execution normal:
    $ ./test.sh
    test
    titi
    toto : titi

    Execution dans le Shell 1 :
    $ ./test.sh
    test
    (pause pour le read)

    Modification dans le deuxième shell du script en rajoutant des lignes vides entre "read a" et l'echo suivant.

    Je tape un truc pour le read, poursuite de l'éxecution :
    toto
    toto : toto
    ./test.sh: line 7: syntax error near unexpected token `;'
    ./test.sh: line 7: `;'
    $


    Donc le script qui est executé n'est pas celui en mémoire mais celui physiquement sur le disque dur.

    Quand un de tes scripts est executé ne le modifie pas en même temps sinon il plante tout simplement car il retrouve plus ses petits.


    PS: vous pouvez meme vous amuser à rajouter des instructions dans les blancs ou à la fin du script pendant son execution...