Création html par script shell

Résolu
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. 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. Modérateur
      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


      1. Modérateur
        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 "->>" ;-)))
        1. Modérateur
          Re,

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