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 内置命令,因此将其重定向到文件会清空该文件。)