Я пытаюсь использовать Bash для завершения Project Euler 13. Ниже приведен мой код, с которым я просто не могу понять, в чем дело.
#!/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
Раньше это приводило к двум ошибкам,
(standard_in) 1: syntax error
а также
(standard_in) 1: illegal character: ^M
После некоторых исследований это, похоже, стало проблемой с терминаторами EOF. Затем я запустил на нем dos2unix, и он больше не выдает вторую ошибку, но все равно выдает первую повторно. Кажется, есть некоторая проблема с тем, как я передаю данные в bc, но я понятия не имею, что или как это исправить.
Правильный ответ 5537376230. Большое спасибо за все, что вы можете помочь!
Информация о системе
GNU bash, версия 4.3.11(1)-релиз (x86_64-pc-linux-gnu)
Я использую cmder на Windows 10.