Я пытаюсь написать простой скрипт bash, который добавляет целые числа и поставляет сумму. Я понял, что самый простой способ - назначить вход для массива. Затем перемещайте массив для выполнения суммирования. Мне нужно использовать длину массива в цикле for for и не могу понять, как назначить длину массива переменной.Как назначить длину массива переменной в bash
Любая оцененная помощь на простой сценарий (который я сделал, чтобы узнать Баш)
#!/bin/bash
# add1 : adding user supplied ints
echo -n "Please enter any number of integers: "
read -a input
echo "Your input is ${input[*]}"
echo "${#input[@]} number of elements"
num = ${#input[@]} # causing error
for ((i = 0; i < "${num}"; ++i)); do # causing error
sum = $((sum + input[$i]))
done
echo "The sum of your input is $sum"
Что дает ошибки:
line 10: num: command not found
line 11: ((: i < :syntax error: operand expected (error token is "< ")
[подробнее] (http://tldp.org/LDP/abs/html/varassignment.html) при присвоении con в Bash :) – summea
Вы говорите «вызывая ошибку»; было бы полезно узнать, какую ошибку он вызывает. – msw
@msw - Уже решена. Спасибо за ответ. Ошибка: строка 10: num: команда не найдена строка 11: ((: i <: синтаксическая ошибка: ожидается операнд (токен ошибки «<») – ZenStunna