Obtendo “zsh: comando não encontrado: time” ao executar 'time' em subshell

1

Eu instalei o ZSH (e o Oh-My-ZSH) em um Ubuntu 12.10 de 64 bits, alguns dias atrás. Eu apenas tentei fazer:

time (time ls)

e recebi este erro:

zsh: command not found: time
( time ls; )  0.00s user 0.00s system 64% cpu 0.002 total

A mesma coisa funciona no ZSH no meu Mac.

Eu também tentei executar o ZSH sem carregar qualquer arquivo de configuração, usando zsh -f -d , mas recebi o mesmo erro.

Qual poderia ser o problema aqui?

Mais alguns resultados que podem ajudar:

➜  ~  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
    
por Dogbert 21.05.2013 / 13:57

1 resposta

5

time é uma palavra reservada no zsh. Só é reconhecido no início de um comando. É uma palavra reservada, e não embutida, porque quando você escreve time foo | bar , é o comando composto foo | bar que é cronometrado e não apenas foo .

Onde time não é reconhecido como uma palavra reservada, é interpretado como o nome de um comando externo. Seu sistema, por qualquer motivo, não possui o comando time instalado. Portanto, comandos como \time , =time ou o segundo time in time time tentam invocar o executável time inexistente e você recebe a mensagem de erro “comando not found: time”.

Se você deseja executar time (time ls) (não que este seja um comando útil), instale o pacote time . É uma dependência de ubuntu-standard , que é um sinal de que você deve instalá-lo.

    
por 15.10.2013 / 03:50

Tags