几天前,我在 Ubuntu 12.10 64 位机器上安装了 ZSH(和 Oh-My-ZSH)。我只是尝试这样做:
time (time ls)
并得到这个错误:
zsh: command not found: time
( time ls; ) 0.00s user 0.00s system 64% cpu 0.002 total
在我的 Mac 上的 ZSH 上也可以实现完全相同的功能。
我还尝试使用 运行 ZSH 而不加载任何配置文件zsh -f -d
,但遇到了相同的错误。
这里可能有什么问题?
更多可能有帮助的输出:
➜ ~ type -a time
time is a reserved word
➜ ~ time (type -a time)
time is a reserved word
( type -a time; ) 0.00s user 0.00s system 0% cpu 0.001 total
➜ ~ time (time)
zsh: command not found: time
( time; ) 0.00s user 0.00s system 0% cpu 0.001 total
➜ ~ which time
time: shell reserved word
➜ ~ time (which time)
time: shell reserved word
( which time; ) 0.00s user 0.00s system 0% cpu 0.001 total
答案1
time
是zsh中的保留字。它仅在命令的开头被识别。它是一个保留字,而不是内置字,因为当您编写 时time foo | bar
,它是计时的复合命令foo | bar
,而不仅仅是foo
。
如果time
不被识别为保留字,则将其解释为外部命令的名称。无论出于何种原因,您的系统都没有time
安装命令。因此,像\time
、=time
或第二个这样的命令time
尝试time time
调用不存在的time
可执行文件,您会收到错误消息“命令未找到:时间”。
如果您希望能够运行time (time ls)
(并不是说这是一个有用的命令),请安装该time
软件包。它是 的依赖项ubuntu-standard
,这表明您应该安装它。