2017-11-15 8 views
2

AppleScript를 사용하여 여러 프로그램을 일괄 적으로 실행하고 각 프로그램이 실행 된 시간을 얻으 려합니다.AppleScript를 사용하여 프로그램 실행 시간을 조정하는 방법

예 :

$ time ls 
Applications 
bin 
net 
Library 
... etc 

real 0m0.013s 
user 0m0.002s 
sys  0m0.006s 

을하지만 애플 스크립트를 사용하여 변수에 결과를 넣어하려고 할 때, 그것은 완전히 시간 출력을 무시 : 명령 줄에서이 같은 time ls 입력합니다.

예 :

set result to do shell script "time ls" 

반환 어디서나 시간 실행 시간의 언급은 없다

Applications 
bin 
net 
Library 
... etc 

.

심지어이 더 간단하게 :

set result to do shell script "time" 

반환

"" 

어떻게 다시 애플 스크립트에서 실행 시간을받을 수 있나요?

p.s. 나는 실제로 시간을하려고 노력하지 않고있다 ls. 나는 많은 사용자 정의 프로그램을 시간에 맞춰보고 싶지만, ls은 간단한 예제를 만든다.

답변

2

과 같이 STDOUTSTDERR를 리디렉션 할 exec 2>&1 명령을 사용하여

do shell script "exec 2>&1; time ls" 
나는 그것의 출력이 stderr` '에 기록하고 내가 시도되었다 time``man 페이지에서 알고
+0

리디렉션의 모든 형태는 내가 생각할 수 있고 올바르게 작동하도록 할 수 없었습니다. 지금 당신의 대답을보고 시도한 것은 그것이 어떻게 효과가 있었는지 궁금했습니다. 분명히'help exec'의 결과를 읽는 것은'builtin' 인 것처럼 나에게 답을주었습니다. 좋은 해결책! +1 – user3439894