2015-02-23 41 views
0

我試圖來衡量的執行時間,並使用此命令格式化:時間選項不起作用

time -f "%e" ./1 1000 1 
-f: command not found 

real 0m0.066s 
user 0m0.044s 
sys 0m0.023s 

但這樣的命令作品:

/usr/bin/time -f "%e" ./1 1000 1 
31245 212 443 
0.00 

我試圖確定在另一個時間位於,但所有showes到/ usr/bin/time會

which time 
/usr/bin/time 

whereis time 
time: /usr/bin/time /usr/bin/X11/time /usr/include/time.h /usr/share/man/man7/time.7.gz /usr/share/man/man2/time.2.gz /usr/share/man/man1/time.1.gz 

type -a time 
time is a shell keyword 
time is /usr/bin/time 

如何界定地方換個時間地點?

+1

'時間是一個shell關鍵字'在這裏是關鍵。這是一個內置的外殼。 – 2015-02-23 19:16:16

+1

@EtanReisner'time'是關鍵字,不是內建的! – 2015-02-23 19:21:53

+0

@gniourf_gniourf確實。儘管我可能應該這樣做,但我並不過分小心。 – 2015-02-23 19:22:47

回答

1

bash shell的用戶需要使用顯式路徑才能運行 external time命令,而不是shell內置變體。在系統中的時間被安裝在/ usr/bin中 ,第一個例子將成爲

/usr/bin/time wc /etc/hosts 

OR

注:一些炮彈(如bash的(1))有一個內置的時間命令 提供的功能比這裏描述的命令少。要訪問真實命令,可能需要指定其路徑名稱 (類似於/ usr/bin/time)。

http://man7.org/linux/man-pages/man1/time.1.html

+0

'\ time'和'command time'也可以避免內置在外部命令。 – 2015-02-23 19:15:58

+1

或''time''(帶引號)或'command time'。順便說一句,'時間'不是內建的;我的意思是它不被視爲一個命令;這是一個關鍵字。不同之處在於微妙的':D',這就是爲什麼像'\ time'或''time'或'command time'這樣的技巧能夠奏效的原因。而且它必須是一個關鍵字,而不是內部的,以允許管道和組的時間安排等。 – 2015-02-23 19:20:34