time
time
전달된 명령이 성공한 경우에만 명령의 출력이 표시되기를 원합니다 . 이 같은:
( time wget -pq --delete-after https://www.example.com ) 2>&1 || echo fail
문제는 wget
실패하더라도 여전히 출력을 받는다는 것입니다 time
(명령이 실패하는 데 걸리는 시간을 측정하므로 논리적입니다). 내 목표는 출력을 변수에 저장하고 또는 내 변수에 포함시키는 것입니다 0m0.100s
. fail
내가 어떻게 이것을 괜찮은 방법으로 할 수 있는지 아는 사람이 있나요?
답변1
다음을 수행할 수 있습니다.
$ if var=$( { time true; } 2>&1 ); then echo "$var"; else echo fail; fi
real 0m0.000s
user 0m0.000s
sys 0m0.000s
$ if var=$( { time false; } 2>&1 ); then echo "$var"; else echo fail; fi
fail