为什么命令选项“-f”被bash视为命令

时间:2012-06-22 08:54:30

标签: bash shell

我运行从时间的手册复制的命令,但它抱怨 -f 命令未找到。为什么它将 -f 识别为命令?

$ time -f "%E real,%U user,%s sys" ls -Fs
-f: command not found

real    0m0.152s
user    0m0.108s
sys 0m0.040s

我怀疑shell并决定尝试另一个shell。在上面,shell是 bash 。我切换到破折号,发现时间现在正确运行。

我的系统是Linux Mint 13。

4 个答案:

答案 0 :(得分:6)

timebashzsh中的内置命令。如果您想要执行外部命令,则应调用/usr/bin/time -f ...

答案 1 :(得分:5)

您可以使用bash内置command来抑制shell函数和内置函数:

command time -f "%E real,%U user,%s sys" ls -Fs

(比使用\time更长,但更明确一点。)

答案 2 :(得分:4)

Bash包含time的精简版本。请改用/usr/bin/time

答案 3 :(得分:3)

添加到其他答案,您可以通过\覆盖内置命令。

\time -f "%E real,%U user,%s sys" ls -Fs