Bonjour co-Linuxien,
j'ai fait un script qui est sensé redirige du code C sur un fichier, malheureusement ca ne marche pas tres bien pour les guillemets des "printf'
la ligne:
echo printf\(\"erreur de calcul pour l'appel $fonction\($params\)\"\)\;>>./TestCoutEtalageSaisonnier.c
semble poser probleme, j'ai l'erreur suivante:
$ ./genprog valeurTest.txt
./genprog: line 23: unexpected EOF while looking for matching `''
./genprog: line 30: syntax error: unexpected end of file
Est ce que quelqu'un a la solution a mon probleme?
Merci de vos reponses
--------------------------------------------------------------------------------
le code:
#scripts linux: genere un programme de test a partir de valeurs prensentent sur fichier *.txt
echo \#include\<stdio.h\> >./TestCoutEtalageSaisonnier.c
cpt=0
for val in $(grep ":" ./$1)
do
cpt=$(expr $cpt + 1)
if [ $cpt -eq 1 ]
then
fonction=$(echo $val | cut -d ":" -f 2)
lib=$(echo $val | cut -d ":" -f 3)
echo \#include\"$lib\">>./TestCoutEtalageSaisonnier.c
echo int main\(void\)>>./TestCoutEtalageSaisonnier.c
echo {>>./TestCoutEtalageSaisonnier.c
else
params=$(echo $val | cut -d ":" -f 1)
res=$(echo $val | cut -d ":" -f 2)
echo if\($fonction\($params\)!=$res\)>>./TestCoutEtalageSaisonnier.c
echo printf\(\"erreur de calcul pour l'appel $fonction\($params\)\"\)\;>>./TestCoutEtalageSaisonnier.c
fi
done
echo return 0\;>>./TestCoutEtalageSaisonnier.c
echo }>>./TestCoutEtalageSaisonnier.c
# C'est comme le monsieur il dit
Posté par Sisyphe Plâtrier . Évalué à 4.
Mes 2 cts.
[^] # Re: C'est comme le monsieur il dit
Posté par abdoulfatahou . Évalué à 1.
Desole je n'arrive pas a relire clairement le monsieur :-(
[^] # Re: C'est comme le monsieur il dit
Posté par Sisyphe Plâtrier . Évalué à 2.
_^_
[^] # Re: C'est comme le monsieur il dit
Posté par Vincent ORDY . Évalué à 2.
echo printf\(\"erreur de calcul pour l\'appel $fonction\($params\)\"\)\;>>./TestCoutEtalageSaisonnier.c
[^] # je ne m'appelle pas "syntax error"! :-)
Posté par abdoulfatahou . Évalué à 1.
[^] # Re: je ne m'appelle pas "syntax error"! :-)
Posté par liberforce (site web personnel) . Évalué à 6.
VARIABLE=2
cat << EOF > fichier.c
#include <stdio.h>
int main(void)
{
static const int var=$VARIABLE;
printf("Variable = %d\n", var);
return var;
}
EOF
En gros tu dis à cat d'attendre la chaine de caractère "EOF" pour comprendre que c'est la fin du texte à mettre dans le fichier.
[^] # Re: je ne m'appelle pas "syntax error"! :-)
Posté par gaaaaaAab . Évalué à 1.
Et juste pour faciliter les recherches google ;) , le petit nom en anglais de la technique, c'est le "here script"
[^] # je ne m'appelle pas "syntax error"! :-)
Posté par abdoulfatahou . Évalué à 1.
[^] # je ne m'appelle pas "syntax error"! :-)
Posté par abdoulfatahou . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.