无需打开子shell即可获取当前时间(和日期)
是否可以在不通过子shell 的情况下获取当前时间(可能还有日期)?
因为如果我没记错的话,这个命令会打开一个子shell吗?
d=$(date)
回答
使用 Bash?4.2,您可以使用printf
以下%(datefmt)T
格式:
printf '%(%c)Tn' -1
-1
现在的意思。
请参阅条目中的 Bash 参考printf
。
把它放在一个变量中(因此不使用子shell):
printf -v d '%(%c)T' -1
echo "$d"