Retourner aux forums || Retourner au forum Programmation.shell
Programmation.shell : shell (bash) et C
Posté par abdoulfatahou () le 10 mai 2007j'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
> Lire le message (9 commentaires, moyenne: 2,1).
C'est comme le monsieur il dit
C'est le _'_ de _l'appel_ qui fait foirer et qu'il faudrait protéger.
Mes 2 cts.
-
[^]Re: C'est comme le monsieur il dit
Posté par abdoulfatahou () le 10/05/2007 à 20:04. (lien). Évalué à 1."C'est le _'_ de _l'appel_ qui fait foirer et qu'il faudrait protéger."
Desole je n'arrive pas a relire clairement le monsieur :-(-
[^]Re: C'est comme le monsieur il dit
-
[^]Re: C'est comme le monsieur il dit
Posté par Vincent ORDY () le 10/05/2007 à 20:26. (lien). Évalué à 2.Il dit qu'il faut utiliser
echo printf\(\"erreur de calcul pour l\'appel $fonction\($params\)\"\)\;>>./TestCoutEtalageSaisonnier.c-
[^]je ne m'appelle pas "syntax error"! :-)
Posté par abdoulfatahou () le 10/05/2007 à 23:33. (lien). Évalué à 1.Merci pour la solution les amis.
-
[^]Re: je ne m'appelle pas "syntax error"! :-)
Posté par liberforce (Jabber id, page perso, ) le 11/05/2007 à 09:02. (lien). Évalué à 6.j'ai encore mieux: plutôt que echo, quand tu as plusieurs lignes à taper, utilise plutôt cat
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"! :-)
-
-
-
[^]je ne m'appelle pas "syntax error"! :-)
Posté par abdoulfatahou () le 11/05/2007 à 14:15. (lien). Évalué à 1.Merci pour la solution les amis.
-
[^]je ne m'appelle pas "syntax error"! :-)
Posté par abdoulfatahou () le 11/05/2007 à 14:56. (lien). Évalué à 1.Merci pour la solution les amis.
-
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.shell



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.