zsh: O que faz o comando “time + number” no zsh

0

Quando eu digito time + number em zsh:

# atupal at local in /tmp/atupal/setup/bin [10:01:49]
$ time 1
/tmp/atupal/setup/bin/lib/python2.7
# atupal at local in /tmp/atupal/setup/bin/lib/python2.7 [10:01:54]
$ time 2
/tmp/atupal/setup
# atupal at local in /tmp/atupal/setup [10:01:59]
$ time 3
/tmp/atupal/setup/app
# atupal at local in /tmp/atupal/setup/app [10:02:03]
$ time 3
/tmp/atupal/setup/bin
# atupal at local in /tmp/atupal/setup/bin [10:02:04]
$ time 3
/tmp/atupal/setup/bin/lib/python2.7
# atupal at local in /tmp/atupal/setup/bin/lib/python2.7 [10:02:05]
$ 

Mas quando digito time 10 , diz command not found: 10

Minha versão do zsh é: zsh 5.0.2-4 E meu uname result: Linux 3.12.5-1-ARCH #1 SMP PREEMPT Thu Dec 12 12:57:31 CET 2013 x86_64 GNU/Linux

    
por atupal 24.12.2013 / 03:07

2 respostas

2

oh-my-zsh cria um alias em .oh-my-zsh/lib/directories.zsh denominado 1 , 2 ... 9 que expande para cd - , cd -1 , etc. Portanto, o tempo está funcionando corretamente, mas o inesperado alias 1 realmente faz alguma coisa. A razão pela qual a saída normal do tempo não é dada é devido ao fato de que cd é um comando interno que não requer bifurcação.

    
por 24.12.2013 / 05:00
0

Acho que você tem outra coisa acontecendo aqui com o zsh setup. Eu tenho uma configuração de estoque e quando eu executo time # eu recebo os resultados esperados de command not found: ..

Exemplo

$ time 1
zsh: command not found: 1
1  0.00s user 0.00s system 0% cpu 0.001 total
$ time 2
zsh: command not found: 2
2  0.00s user 0.00s system 0% cpu 0.001 total
$ time 3
zsh: command not found: 3
3  0.00s user 0.00s system 0% cpu 0.001 total
$ time 10
zsh: command not found: 10
10  0.00s user 0.00s system 0% cpu 0.001 total

Confirmando quais time estamos usando em nosso ambiente.

$ whence -w time
time: reserved

$ builtin time   
zsh: no such builtin: time

Portanto, o comando time está sendo fornecido pelo zsh em si. Eu suspeito que você tenha um alias ou uma função que esteja substituindo o comando time padrão.

Digamos que ele tenha sido substituído por um alias, então whence -w time o mostraria assim:

$ whence -w time 
time: alias

Veja outro exemplo usando o comando type , que mostra que eu substituí time como um alias & uma função em adição a vários outros métodos. O comando type com a opção -a revela todos eles.

$ type -a time
time is an alias for ls
time is a reserved word
time is a shell function
time is /usr/bin/time
time is /bin/time

Desativando arquivos de configuração zsh

Você pode invocar um zsh sem ler seus arquivos de configuração usando a opção -f .

  -f    equivalent to --no-rcs

Exemplo

$ zsh -f    
$ whence -w time
time: reserved
    
por 24.12.2013 / 03:56