• [^] # Re: Pas chez moi

    Posté par (site web personnel) . En réponse au message impossible de modifier un exécutable lorsqu'il est en exécution. Évalué à 3. Dernière modification le 20 février 2019 à 17:33.

    Bizarre : sauf erreur de ma part, POSIX impose que le fichier soit lu au fur et à mesure. C'est une bizarerie de POSIX, les interprètes classiques plus modernes lisent et parsent tout le fichier d'un coup, c'est beaucoup plus logique. Donc a priori, ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ, ton bash doit être dans un mode où il s'autorise des non-POSIXeries. Peut-être une variable POSIXLY_CORRECT bizarrement positionnée ou un truc qui ressemble. En tous cas moi j'ai bien le comportement où la modif en cours d'exécution est prise en compte.

    Sinon, si on veut être sûr que tout le fichier est lu au démarrage, l'astuce classique est de l'encapsuler dans une paire d'accolades :

    {
    ...
    tout le script
    ...
    }
    

    Et là le shell est obligé d'aller jusqu'au } fermant avant de démarrer l'exécution.

    Bon, tout ça de mémoire, je ne retrouve plus mes sources.