我想打印在我的机器上运行的jvm的正常运行时间。我可以使用jcmd
来做到这一点。但是我想在几分钟内打印出来。所以,我尝试了以下内容:
bash-3.2$echo $(($(jcmd 785 VM.uptime)/60))
然而,这不起作用。我收到以下错误:
bash-3.2$ echo $(($(jcmd 785 VM.uptime)/60))
bash: 785:
1541.343 s/60: syntax error in expression (error token is ":
1541.343 s/60")
如果我先将$(jcmd 785 VM.uptime)
赋给变量并将其替换为算术表达式,它仍然无法正常工作。知道我怎么能让这个工作吗?
答案 0 :(得分:2)
您的输出不是整数,并且有一个字符''。你应该削减不必要的部分:
echo $(( $(jcmd 785 VM.uptime |sed 's/^\([[:digit:]]*\).*$/\1/')/60 ))
或
echo "scale=4;$(jcmd 785 VM.uptime |sed 's/ s//')/60" |bc
- 这会给你一个浮动值。