2017-05-13 5 views
0

내 컴퓨터에서 실행중인 jvm의 가동 시간을 인쇄하고 싶습니다. 나는 jcmd을 사용하여 그것을 할 수있다. 그러나 나는 그것을 몇 분 안에 인쇄하고 싶다. 그래서, 나는 다음을 시도 :bash 산술 명령에서 nest 보조 명령을 사용하는 방법

bash-3.2$echo $(($(jcmd 785 VM.uptime)/60)) 

그러나 이것은 작동하지 않습니다. 내가 변수, 제 1 및 산술 식으로, 그것은 여전히 ​​작동하지 않는 대신에 $(jcmd 785 VM.uptime)를 할당하면

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") 

: 나는 다음과 같은 오류가 발생합니다. 이걸 어떻게 작동시킬 수 있을지 알기나 해?

+0

'jcmd 785 VM.uptime' 명령이 정확히 무엇을 인쇄합니까? – ilkkachu

+0

'(('와')) 뒤에 공백 추가 –

+0

기쁨이 없습니다. 이 명령은 jvm의 가동 시간을 인쇄합니다. – njk2015

답변

2

출력이 정수가 아니며 문자가 's'입니다. 이 당신에게 부동 소수점 값을 제공합니다 -

echo $(($(jcmd 785 VM.uptime |sed 's/^\([[:digit:]]*\).*$/\1/')/60)) 

또는

echo "scale=4;$(jcmd 785 VM.uptime |sed 's/ s//')/60" |bc 

: 당신은 불필요한 부분을 잘라해야합니다.