我想在 bash shell 脚本中了解一天中的具体时间,目前我只能想到通过使用和to管道传输两个date命令来实现此目的:hour of dayminute of hourbc
mod=$(echo 60*$(date +%H)+$(date +%M) | bc)
echo $mod
Run Code Online (Sandbox Code Playgroud)
这可行,但非常笨重而且不太优雅,有更好的方法吗?我在 date 命令中没有看到一天中的分钟选项。
我使用的是 bash 版本
4.4.20(1)-release
Run Code Online (Sandbox Code Playgroud)
作为一种更有效的方法(使用 bash 4.4 或更高版本),尽管不一定是更短的方法:
printf -v dateMath '%( (10#%H*60)+10#%M )T' -1
mod=$(( dateMath ))
Run Code Online (Sandbox Code Playgroud)
...作为一种效率较低的单行代码(但仍然比使用dateand快得多bc),您也可以将其写为:
mod=$(( $(printf '%( (10#%H*60)+10#%M )T' -1) ))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |