2012-03-15 30 views
12

bazı küçük .c programlarının çalışma süresini ölçmek için gnu zaman kullanmak istedi. ÖrneklerdeGnu süresi ve biçimlendirme çıkışı

Sonra
-f FORMAT, --format FORMAT 
Use FORMAT as the format string that controls the output of time. See the below more information. 

Elimizdeki:

To run the command `ls -Fs' and show just the user, system, and total time: 
time -f "%E real,%U user,%S sys" ls -Fs 

Ama örneğin bu komutu çalıştığınızda i olsun: erkekler, yazılıdır

time -f '%E real,%U user,%S sys' ls -Fs 
-f: command not found 

real 0m0.134s 
user 0m0.084s 
sys  0m0.044s 

Ben Sorunun nerede olduğunu merak ediyorum, nerede hata yapıyorum? Sadece kullanıcı zamanını göstermek istiyorum, bu yüzden zaman çıktı formatıyla oynuyordum. biri için

cevap

12

Bash time adında bir kabuk yerleşiği vardır. Geçmişi aşmanın bir yolu, /usr/bin/time yazmektir. Başka bir yol ise alias time=/usr/bin/time. Diğer taraftan, bash yerleşiği TIMEFORMAT ortam değişkenine uyar.

+0

sayesinde hızlı cevap için, ben sadece TIMEFORMAT kullanacak, ancak bu işin bütün. – Andna

+1

'/ usr/bin/Zamanı 'bazı sistemlerde (örneğin NixOS) mevcut değildir, ama' komut süresi ... 'bash yerleşiğini önlemek için bir yol olarak çalıştığını tespit ettik. – Warbo

+0

büyük bir nokta, 'command' bu sh'' de ve herhangi bir şey mevcut olması gerektiğini, böylece sh' 'olarak hareket edebilir ('bash' ve' ksh' dahil) POSIX tanımlanan kabuk aracıdır. Burada söz edildiği gibi: https://stackoverflow.com/questions/6365795/invoking-program-when-a-bash-function-has-the-same-name – minopret