2015-02-23 82 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