如何在脚本的多次执行中维护计数器?

如何在脚本的多次执行中维护计数器?

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

相关内容