我从来没有做过的shell脚本之前,现在我遇到了一个简单的问题...我有一个for循环,其执行每次run.sh脚本.要查看脚本已经运行了多远,我想打印例如每5000个实际索引.
$counter = 0
for (( i = 0 ; i <= 5000; i++ ))do
if ($i = $counter); then
echo "$counter"
counter=$(counter+1000)
fi
./run.sh
done
Run Code Online (Sandbox Code Playgroud)
运行这段代码会给我以下错误
./for_loop.sh: line 1: =: command not found
./for_loop.sh: line 3: 0: command not found
Run Code Online (Sandbox Code Playgroud)
我也试过用它来初始化变量计数器
declare -i counter = 0
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误
./for_loop.sh: line 1: declare: `=': not a valid identifier
Run Code Online (Sandbox Code Playgroud)
你真的不需要两个柜台.单个计数器就足够了:
for (( counter = 0; counter <= 5000; counter++ ))
do
if (( counter % 1000 == 0 ))
then
echo "$(( counter / 1000 ))"
fi
./run.sh
done
Run Code Online (Sandbox Code Playgroud)
这将执行run.sh
5000次并每1000次迭代打印计数器值.注意,%
是除数之后计算余数的模运算符,它/
是整数除法运算符.