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...