Estoy tratando de usar Bash para completar el Proyecto Euler 13 . A continuación se muestra mi código que simplemente no puedo entender qué está mal.
#!/bin/bash
sum=0
while read -r -d $'\r' line; do
sum=$(echo $sum + $line | bc)
done <<< "$(curl -s http://pastebin.com/raw/uHZ0PZjm)"
echo "${sum:0:10}"
exit
Solía dar lugar a dos errores,
(standard_in) 1: syntax error
y
(standard_in) 1: illegal character: ^M
Después de algunas investigaciones, parecía ser un problema con los terminadores EOF. Luego ejecuté dos2unix en él y ya no da el segundo error, pero sigue dando el primero repetidamente. Parece haber algún problema con la forma en que estoy canalizando los datos en bc, pero no tengo idea de qué o cómo solucionarlo.
La respuesta correcta es 5537376230. ¡Muchas gracias por todo lo que pueda ayudar!
La información del sistema es
GNU bash, versión 4.3.11 (1) -release (x86_64-pc-linux-gnu)
Estoy usando cmder en Windows 10.
:-)
. Por cierto, solo es cuestión de unos segundos, realmente agregue el sistema operativo y la versión de su sistema. Todavía tengo curiosidad por saber la razón que causa la syntax error
. Poner el código en un script en mi sistema no arroja ningún error ...
5483872696
...