Création html par script shell

Résolu
snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

voilà mon probleme avec un morceau de script shell, la definition de la couleur avec le code couleur ne marche pas:
  <CAPTION style="color:#34C247;"><FONT size=5>releves de la semaine</FONT></CAPTION>


par contre si je l'écris comme çi dessous, le script marche:
 <CAPTION style=color:red><FONT size=5>releves de la semaine</FONT></CAPTION>


quelle est la syntaxe à utiliser pour pouvoir utiliser les code couleurs dans la page html généré par mon script ?

#!/bin/sh
rm -f releve_niveau.html


echo "
<html>
  <head>
  <title></title>
  </head>
  <body>
<TABLE BORDER>
          <CAPTION style="color:#34C247;"><FONT size=5>releves de la semaine</FONT></CAPTION>
          <TR>
             <TH></TH> <TH colspan="2">semaine 12</TH>
          </TR>
          <TR align=center>
             <TD valign=bottom>stations:</TD> <TD WIDTH=120>10 heures</TD> <TD WIDTH=120>11 heures</TD>
          </TR>
          <TR align=center>
             <TD>station 1</TD> <TD>10.5</TD> <TD>10.8</TD>
          </TR>
          <TR align=center>
             <TD>station 2</TD> <TD>10.2</TD> <TD>10.5</TD>
          </TR>
        </TABLE>

  </body>
</html>" ->> releve_niveau.html


merci de votre aide
Configuration: Linux
Konqueror 3.5

5 réponses

  1. synopsis8 Messages postés 1478 Statut Membre 243
     
    C'est normal, le caractere
    #
    en script shell definit un commentaire.

    Tu dois pouvoir le proteger en tapant
    color:\#34C247
    au lieu de
    color:#34C247
    1
  2. snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   139
     
    merci bien de ton aide.
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Vu que echo encadre le texte entre les guillemets echo "...............", le shell aura de mal à comprendre les séquences "color:#34C247;" il faudra peut être un backslash avant les guillemets aussi
    \"color:#34C247;\"

    Pour le # c'est vrai que c'est un commentaire mais je n'ai pas testé à l'intérieur d'un echo "..."
    Tu peux essayer
    #/bin/bash
    echo "j'affiche un #"

    Si le script affiche
    j'affiche un #
    Alors ce n'est pas le # qui pose de problèmes

    Si les backslash te pose de problèmes tu peux essayer comme ça (apostrophes au lieu de guillemets pour echo
    #!/bin/sh
    rm -f releve_niveau.html
    
    
    echo '
    <html>
      <head>
      <title></title>
      </head>
      <body>
    <TABLE BORDER>
              <CAPTION style="color:#34C247;"><FONT size=5>releves de la semaine</FONT></CAPTION>
              <TR>
                 <TH></TH> <TH colspan="2">semaine 12</TH>
              </TR>
              <TR align=center>
                 <TD valign=bottom>stations:</TD> <TD WIDTH=120>10 heures</TD> <TD WIDTH=120>11 heures</TD>
              </TR>
              <TR align=center>
                 <TD>station 1</TD> <TD>10.5</TD> <TD>10.8</TD>
              </TR>
              <TR align=center>
                 <TD>station 2</TD> <TD>10.2</TD> <TD>10.5</TD>
              </TR>
            </TABLE>
    
      </body>
    </html>' ->> releve_niveau.html


    0
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Effectivement c'est les quotes doubles qui entourent color:#34C247; qui posent problème, et ta solution en entourant tout le contenu de la commande echo par des quotes simples résout bien le problème ;-))

    Par contre il faut enlever le tiret dans la redirection "->>" ;-)))
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Il y a aussi colspan="2"
    Pour le tiret, j'ai fait un copier/coller. Bien vu ;-)
    0