2017-11-15 19 views
2

AppleScriptを使用して複数のプログラムを一括して実行し、それぞれが実行された時間を取得したいと思います。AppleScriptを使用してプログラムの実行を時刻合わせする方法

例:コマンドラインから私はこのようなtime ls入力します。

$ time ls 
Applications 
bin 
net 
Library 
... etc 

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

を私はリンゴのスクリプトを使用して、変数に結果を入れしようとすると、それは完全に時間の出力を無視します。

例:どこかの時間実行時間のは言及しないと

set result to do shell script "time ls" 

戻り

Applications 
bin 
net 
Library 
... etc 

でもこれはもっとシンプルな作り:

set result to do shell script "time" 

戻り

"" 

どのように私は戻ってのAppleScriptから実行時間を得るのですか?

p.s.私は実際に時間をしようとしていませんls。私はカスタム作成したプログラムの束を時間を掛けたいが、lsは簡単な例を作る。

答えて

2

このように、STDOUTSTDERRをリダイレクトするexec 2>&1のコマンドを使用します。

do shell script "exec 2>&1; time ls" 
+0

私は、その出力がstderr' 'に書かれたと私は試したことtime''のmanページから知っていましたリダイレクトのすべての形式を考えることができ、正しく動作させることができませんでした。今あなたの答えを見て、試したところ、私はそれがどう働いているのか不思議でした。明らかに 'help exec'の出力を読むのは' builtin'なので、私には答えが与えられました。ニースの解決策! +1 – user3439894

関連する問題