I've never done shell script before and now I'm running into a simple problem... I have a for loop which executes every time the run.sh script. To see how far the script has already run I want to print e.g. every 5000 the actual index.
$counter = 0
for (( i = 0 ; i <= 5000; i++ ))do
if ($i = $counter); then
echo "$counter"
counter=$(counter+1000)
fi
./run.sh
done
running this piece of code gives me the following error
./for_loop.sh: line 1: =: command not found
./for_loop.sh: line 3: 0: command not found
I have also tried to init the variable counter with
declare -i counter = 0
which gives me the following error
./for_loop.sh: line 1: declare: `=': not a valid identifier
You don't really need two counters. A single counter will suffice:
for (( counter = 0; counter <= 5000; counter++ ))
do
if (( counter % 1000 == 0 ))
then
echo "$(( counter / 1000 ))"
fi
./run.sh
done
This executes run.sh
5000 times and prints the counter value every 1000 iterations. Note that %
is the modulus operator which computes remainder after division and /
is the integer division operator.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With