无需打开子外壳即可获取当前时间(和日期)
Get current time (and date) WITHOUT opening a subshell
是否可以在不通过子 shell 的情况下获取当前时间(可能还有日期)?
因为如果我没记错的话,这个命令确实打开了一个子 shell?
d=$(date)
如果 Bash≥4.2,您可以使用 printf
和 %(datefmt)T
格式:
printf '%(%c)T\n' -1
-1
表示现在。
见The Bash reference at the printf
entry。
将其放入变量中(因此不使用子 shell):
printf -v d '%(%c)T' -1
echo "$d"
是否可以在不通过子 shell 的情况下获取当前时间(可能还有日期)?
因为如果我没记错的话,这个命令确实打开了一个子 shell?
d=$(date)
如果 Bash≥4.2,您可以使用 printf
和 %(datefmt)T
格式:
printf '%(%c)T\n' -1
-1
表示现在。
见The Bash reference at the printf
entry。
将其放入变量中(因此不使用子 shell):
printf -v d '%(%c)T' -1
echo "$d"