我在我的 shell 脚本中运行此命令以获取以毫秒为单位的时间:
START=`$(date +%s%N)/1000000`
但是我不断收到错误消息:
1394661620440271000/1000000: No such file or directory
我试图通过添加括号、额外的美元符号来更改代码,但我不断收到不同类型的错误。如何修复代码?有人可以帮忙吗?
我在我的 shell 脚本中运行此命令以获取以毫秒为单位的时间:
START=`$(date +%s%N)/1000000`
但是我不断收到错误消息:
1394661620440271000/1000000: No such file or directory
我试图通过添加括号、额外的美元符号来更改代码,但我不断收到不同类型的错误。如何修复代码?有人可以帮忙吗?
假设您使用的是 bash:
START=$(( $(date '+%s%N') / 1000000 ))
您不能只在命令行上说 / 来划分数字。(( ... )) 在 bash 中进行算术评估。
我认为您想要以下内容:
START=$(($(date +%s%N)/1000000))
您还可以使用纯字符串操作:
$ start=$(date '+%s%N')
$ echo $start
1394663274979099354
$ echo ${start:0:-6}
1394663274979
该printf
语句可以将值四舍五入到最接近的毫秒:
printf "%0.3f\n" $(date +%s.%N)