J'ai deux scripts bash qui sont presque identiques. On travaille et on ne peut pas comprendre ce qui se passe. Voici les scripts:
Celui-ci fonctionne bien: p> mais celui-ci me donne toutes sortes d'erreurs: p> Running Unit Tests
------------------
Test flatroad(standard_in) 1: illegal character: S
(standard_in) 1: syntax error
(standard_in) 1: illegal character: :
(standard_in) 2: illegal character: S
(standard_in) 2: illegal character: :
(standard_in) 2: syntax error
(standard_in) 2: illegal character: N
(standard_in) 2: illegal character: :
(standard_in) 2: illegal character: I
(standard_in) 2: illegal character: :
(standard_in) 2: illegal character: :
(standard_in) 2: illegal character: O
(standard_in) 2: illegal character: :
(standard_in) 3: illegal character: P
(standard_in) 3: illegal character: :
(standard_in) 3: syntax error
(standard_in) 3: illegal character: M
(standard_in) 3: illegal character: :
(standard_in) 3: illegal character: H
(standard_in) 3: illegal character: :
(standard_in) 3: illegal character: :
(standard_in) 4: illegal character: P
(standard_in) 4: illegal character: :
(standard_in) 4: syntax error
(standard_in) 4: illegal character: M
(standard_in) 4: illegal character: :
(standard_in) 4: illegal character: H
(standard_in) 4: illegal character: :
(standard_in) 4: illegal character: :
(standard_in) 5: syntax error
(standard_in) 5: illegal character: :
(standard_in) 6: illegal character: P
(standard_in) 6: illegal character: :
(standard_in) 6: illegal character: M
(standard_in) 6: syntax error
(standard_in) 6: illegal character: :
(standard_in) 7: syntax error
(standard_in) 7: illegal character: :
(standard_in) 8: illegal character: P
(standard_in) 8: illegal character: :
(standard_in) 8: syntax error
(standard_in) 8: illegal character: M
(standard_in) 8: illegal character: :
(standard_in) 15: syntax error
(standard_in) 16: syntax error
(standard_in) 16: illegal character: M
(standard_in) 16: illegal character: I
(standard_in) 16: illegal character: P
(standard_in) 17: syntax error
(standard_in) 18: illegal character: T
(standard_in) 18: illegal character: S
(standard_in) 18: illegal character: T
(standard_in) 18: syntax error
(standard_in) 19: illegal character: T
(standard_in) 19: illegal character: S
(standard_in) 19: illegal character: T
(standard_in) 19: syntax error
(standard_in) 20: illegal character: T
(standard_in) 20: illegal character: S
(standard_in) 20: illegal character: T
(standard_in) 20: syntax error
(standard_in) 21: illegal character: T
.
.
.
(standard_in) 90: illegal character: I
(standard_in) 90: illegal character: O
(standard_in) 90: syntax error
(standard_in) 90: illegal character: P
(standard_in) 90: illegal character: I
(standard_in) 90: illegal character: I
(standard_in) 90: illegal character: T
(standard_in) 91: syntax error
(standard_in) 91: syntax error
(standard_in) 91: syntax error
(standard_in) 91: syntax error
(standard_in) 93: illegal character: S
(standard_in) 93: syntax error
(standard_in) 94: illegal character: O
(standard_in) 94: syntax error
(standard_in) 95: syntax error
(standard_in) 96: illegal character: U
(standard_in) 96: syntax error
(standard_in) 96: illegal character: '
(standard_in) 96: illegal character: O
(standard_in) 96: illegal character: '
FAILED.
3 Réponses :
Vérifiez le contenu du répertoire vertical. Est-ce que l'un de vos fichiers CSV a des espaces ou des caractères étranges dans son nom? Essayez d'entourer la variable qui contient un nom de fichier entre guillemets:
Les seuls fichiers actuellement dans Vertical / UTTT sont à la place de l'arrièreroad.csv et à la place. J'ai essayé votre suggestion et, en plus de toutes les erreurs d'autres erreurs, je reçois maintenant les suivantes: "Test gamble.csv" CAT: / Accueil / Jessica / Documents / Développement / Road / Vertical / UTTES .Res: aucun fichier ou répertoire de ce type "
Quels fichiers sont / home / jessica / documents / développement / route / vertical / utest? Essayez également d'allumer le mode Verbose dans Bash: $ SET -V Vous pouvez l'éteindre avec "SET + V"
Les messages d'erreur sont produits par BC code>. Le problème est qu'il y a quelque chose comme "s: s: n: je :: o: p ..." dans le dossier "$ Home / Documents / Développement / Road / Vertical / UTST.RES" Ce n'est pas dans le fichier correspondant utilisé dans l'autre script. Les chances sont que vous vous attendez à ce que ce fichier contienne une seule valeur numérique au lieu de tout ce qui est là-bas maintenant. P>
Flatroad.Res (le seul fichier .res dans le répertoire à l'heure actuelle) ne contient que "0,0" (moins les citations) qui est une seule valeur numérique.
@Jessica: alors la valeur de $ valeur code> contient quelque chose que
bc code> ne comprend pas.
(standard_in) 1: erreur de syntaxe p> blockQuote>
Cette erreur sera résolue en utilisant
perl fort> au lieu de la commande bc, p>
$ (Perl -e "imprimer $ B + $ C") strong> p>
Qu'est-ce que
vertical code>? Qu'est-ce que
Earthmove code>?
Êtes-vous capable d'exécuter
$ curdir / version / vertical code> seul, avec le fichier
plat code>? Est-ce que cela produise toutes les mêmes erreurs?
Vertical et Earthmove sont deux programmes C ++. Et oui, exécution "vertical -f platroad.csv" de la ligne de commande fonctionne bien.