3
time
似乎一般我的系統上運行:爲什麼'time'不適用於'echo'?
➜ ~ time touch tmp.txt
touch tmp.txt 0.00s user 0.00s system 54% cpu 0.007 total
然而,它的輸出似乎得到抑制,當我試圖time echo
。
➜ ~ time echo
而且加厚的情節:它似乎恢復其測量echo
能力,提供我拋出echo
到管道:
➜ ~ time echo | xxd
00000000: f09f 8d94 0a .....
echo 0.00s user 0.00s system 38% cpu 0.002 total
xxd 0.00s user 0.00s system 88% cpu 0.003 total
這是怎麼回事?是echo
輸出到time
的最愛流,取代它的報告?
獎勵積分爲:是否有某種方式(例如流重定向)使time echo
輸出通常的報告?
編輯:一些評論人士指出,我使用zsh
。當時我沒有注意到,但這解釋了很多。
bash
使用正常的可執行文件來做time
和echo
。
bash-3.2$ which echo
/usr/local/opt/coreutils/libexec/gnubin/echo
bash-3.2$ which time
/usr/bin/time
(貌似我使用的echo
一個GNU版本,而不是大概BSD之一,/bin/echo
,附帶的Mac OS X)。
而zsh
提供一些顯著比較特殊:
➜ ~ which echo
echo: shell built-in command
➜ ~ which time
time: shell reserved word
這些都不是正常的可執行文件。很有意思!
它看起來像你使用'zsh',而不是'bash'。 – webb
我無法重現您的問題。它適用於我預期使用馬科斯塞拉利昂bash 3和OEL 6.7 bash 4. – alvits
在bash 3.2.52工作正常,所以它最有可能不是一個bash問題 –