Je jouais avec le type
et les commands et j'ai découvert quelque chose d'étrange.
type
soit returnne le path, soit dit qu'une command est un Bash embedded. which
soit returnne le path, soit rien pour les ins ins, comme exit
ou type
Ce qui est étrange, c'est que le type echo
dit que l'écho est embedded comme je l'espérais.
Mais which echo
donne / bin / echo comme path vers l'exécutable echo. Cela ne semble pas se produire pour d'autres commands embeddedes.
Je me request quelle est la différence entre les deux, celle que Bash choisit d'exécuter dans les scripts et sur la command line, et quelle est l'histoire derrière les deux échos.
Mon système est Ubuntu Desktop 12.04
Il y a un echo
embedded et un echo
command. Utilisez le type -a echo
pour les voir tous.
Parce que le type
lui-même est un shell embedded, il est capable de connaître d'autres builtins.
Et which
n'est qu'une command habituelle. Par conséquent, il ne sait pas quel shell vous utilisez et ne vous parle que des commands sur le disque.
Habituellement type
est la command correcte pour vous dire ce qui se passe si vous tapez un mot dans votre shell.