Я никогда не делал сценарий оболочки раньше, и теперь у меня возникает простая проблема ... У меня есть цикл for, который выполняется каждый раз при запуске скрипта run.sh. Чтобы увидеть, как далеко уже запущен скрипт, я хочу напечатать, например. каждый 5000 - фактический индекс.для цикла/if условие в сценарии оболочки
$counter = 0
for (( i = 0 ; i <= 5000; i++ ))do
if ($i = $counter); then
echo "$counter"
counter=$(counter+1000)
fi
./run.sh
done
работает этот кусок кода дает мне следующую ошибку
./for_loop.sh: line 1: =: command not found
./for_loop.sh: line 3: 0: command not found
Я также пытался инициализировать переменную счетчика с
declare -i counter = 0
, который дает мне следующую ошибку
./for_loop.sh: line 1: declare: `=': not a valid identifier
Итак, как мы можем помочь? – Kami
В Bash есть два оператора присваивания: '=' и 'let =', поэтому вы можете назначить первый счетчик с 'counter = 0' или' let counter = 0'. 'let' предназначен для использования только с числами, а' = 'работает с любой строкой. –