前言
本篇文章主要记录使用Shell脚本实现一个命令执行计时器的函数。
准备
开始
具体代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| function Timer(){ local StartTime=$(date +%s%N) local EndTime local DiffSeconds local DiffMS command=$@ ${command} EndTime=$(date +%s%N) DiffSeconds=$(( (EndTime / 1000000000) - (StartTime / 1000000000) )) if (( $(( (EndTime % 1000000000) - (StartTime % 1000000000) )) < 0 )) then DiffMS=$(( (StartTime % 1000000000) - (EndTime % 1000000000) )) else DiffMS=$(( (EndTime % 1000000000) - (StartTime % 1000000000) )) fi DiffMS=$(( DiffMS / 1000000 )) TotalSeconds=$(( DiffSeconds + (DiffMS / 1000) )) TotalMS=$(( DiffMS % 1000 )) if (( ${TotalMS} < 0)) then TotalSeconds=$(expr ${TotalSeconds} - 1) DiffMS=$(expr DiffMS + 1000) TotalMS=$(( DiffMS % 1000 )) fi echo "${TotalSeconds}.${TotalMS}s" | sed 's/-//g' }
|
使用范例
1 2 3 4 5 6 7 8 9
| root@localhost:~ Legend: production dependency, optional only, dev only
/root/.local/share/pnpm/global/5
dependencies: ArcticFox 5.20 1.93s root@localhost:~
|