![如何在脚本的多次执行中维护计数器?](https://linux22.com/image/872213/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%84%9A%E6%9C%AC%E7%9A%84%E5%A4%9A%E6%AC%A1%E6%89%A7%E8%A1%8C%E4%B8%AD%E7%BB%B4%E6%8A%A4%E8%AE%A1%E6%95%B0%E5%99%A8%EF%BC%9F.png)
then
我有一个带有条件语句的脚本,我想找出在同一脚本多次运行中该子句执行的次数。
例如:
if [condition]
then
Some code;
ACTIVATE COUNTER;
else
Some code;
RESET COUNTER;
fi
答案1
您需要将计数存储在某个地方,以便它在脚本的多次运行中保持不变,因为变量仅在该单次运行的内存中。
最简单的地方可能是在文件中。
将其存储在文件中的具体方式取决于几个因素,包括计数的次数以及是否预期并发运行。一种简单可靠的方式是这样的
if CONDITION
then
echo run >> ~/script-counter
fi
每次运行时,都会将一行追加到文件中。(您可能希望为文件选择一个更好的名称或位置,以反映它在程序中实际执行的操作。)
这非常简单,并且如果脚本被中断或者您同时运行多个副本,它将非常强大。
然后你可以找到计数wc -l ~/script-counter
您可以通过清空文件来重置计数器,使用
: > ~/script-counter
(:
是一个不执行任何操作的 shell 内置命令,因此将其重定向到文件会清空该文件。)