man time
mostra que tem algumas opções, como esta, para gravar apenas a time
saída em um arquivo em vez de stderr
:
-o FILE, --output=FILE
Então, eu tento usá-lo
$ time -o out.txt ls
-o: command not found
real 0m0.081s
user 0m0.070s
sys 0m0.012s
Isso não funciona! Ele diz -o: command not found
.
Para provar out.txt
que não existe:
$ cat out.txt
cat: out.txt: No such file or directory
O que estou fazendo errado?
Como posso usar opções como -o somefile.txt
com time
?
Estou no Linux Ubuntu 18.04, usando bash
como meu terminal.
O shell bash está avaliando a primeira palavra "time" em seu comando como a palavra reservada
time
e está aguardando um comando na segunda palavra, que é-o
, então está imprimindo:-o: command not found
.No manual do bash , podemos ver que o motivo
time
é uma palavra reservada:Para usar o
time
comando e usar seus argumentos úteis, você deve instruir o shell bash assim. É melhor fazê-lo usando ocommand
utilitário:Ou você pode usar o caminho completo:
Ou até mesmo citá-lo:
Ou escape com uma barra invertida:
Veja também os posts: 1 e 2