• [^] # Re: Beaucoup de boulot

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Linux pour Workgroups 3.11, le noyau prêt pour le bureau. Évalué à 4. Dernière modification le 06 septembre 2013 à 18:27.

    Hum en effet, mais j'ai trouvé pourquoi :

    l'erreur est ici :

    # ne pas tenir compte des tabulations
    if true
    then
     <<-EOF cat > /tmp/file2
     Bonjour, $(whoami) c'est ${lui}, et $((0 + 0)) égale la tête à toto !
     EOF
    fi
    

    Normalement ce doit être une tabulation en début de ligne, le <<-EOF cherche le "(zéro ou une infinité de tabulations)EOF" comme fin de fichier, alors qu'on lui donne "espace-espace-espace-espaceEOF", donc le document ne se termine jamais. C'est la faute à linuxfr qui transforme les tabulations en suite d'espaces ! de même il faut des tabulations en début de ligne du here doc pour qu'elles soient ignorées, si tu mets une tabulation avant le EOF mais des espaces avant le début des lignes du heredoc, ton heredoc aura des espaces en début de ligne !

    C'est peut-être le seul cas en shell où l'indentation doit obligatoirement être faite avec des tabulations.

    ce commentaire est sous licence cc by 4 et précédentes