O primeiro é a própria palavra-chave interna bash
time
(compilada com bash
) e a segunda é o executável externo time
( /usr/bin/time
, vem com o pacote time
).
Além disso, which
não pode mostrar os comandos internos ou as palavras-chave do shell, pois ele apenas pesquisa por PATH
, é necessário usar type
para isso. Sendo um shell embutido, type
pode adicionalmente verificar as entidades internas do shell (e também PATH
), para que você possa identificar a diferença:
type -a time
Aqui:
$ type -a time
time is a shell keyword
time is /usr/bin/time
O primeiro será executado se você usar apenas time
. Você também pode obter o que está sendo executado usando apenas type
(sem -a
):
type time
O -a
diz type
para pesquisar nas entidades internas do shell e também em PATH
, por exemplo, pesquisar em todas as origens possíveis.
Se por algum motivo você precisar do externo, use qualquer um deles:
\time
"time"
'time'
command time