打印Linux中Shell脚本的执行时间

你有没有想过运行某个 shell 脚本需要多长时间? 您可能已经遇到过某些 shell 脚本,这些脚本会打印运行脚本所花费的时间。

如果脚本需要一些时间才能完成,此信息对于分析很有用。

作为 syadmin,如果您创建脚本,您可以将最终执行时间显示为最终用户的附加信息。 这是使 shell 脚本更具交互性和更详细的几种方法之一。

打印shell脚本的执行时间

为此,Bash shell 和其他一些 shell 提供了一个名为 SECONDS 的内置变量。 此变量保留自打开 shell 以来的秒数,如果是脚本,它将是自脚本运行以来的秒数。

你可以在 Linux 中使用 echo 命令来显示这个 SECONDS 变量的值。

让我向您展示一个非常简单的示例脚本:

#!/bin/bash
sleep 5
sleep 7
echo "This script took $SECONDS seconds to execute"

我正在使用 bash 上面脚本中的 sleep 命令只等待指定的时间。

您认为上述脚本的输出应该是什么?

This script took 12 seconds to execute

看看显示脚本的执行时间是多么容易。

您还可以使用 time 命令获取脚本的运行时间。

time ./script.sh

上面的输出将与您之前看到的略有不同。 它将在此处详细显示执行时间。 可以看到执行时间是 12.010 秒,而不是 12 秒。

real 0m12.010s
user 0m0.004s
sys 0m0.006s

我希望你喜欢这个关于显示程序执行时间的快速 Linux 小技巧 bash 外壳脚本。 你会在你的脚本中使用它吗? 你有什么可能的场景来使用它?