Я делаю сценарий оболочки, который берет одно число (длина не важна) из командной строки и складывает его цифры вместе. Я думал, что он у меня есть, но он не будет работать и либо отображает «0 + 3 + 4 + 5», если ввод команды 345, либо отображает переменные, когда я использую expr для их добавления.
#!/bin/bash
sum=0
i="$(expr length $1)"
s=$1
for i in $(seq 0 $((${#s} - 1))); do
value=${s:$i:1}
typeset -i value
sum=$sum+$value
done
echo $sum
Также не работает, когда я заменяю его на sum = 'expr $ sum + $ value'
есть идеи?