Estaba jugando con los type
comandos which
y y descubrí algo extraño.
type
devuelve la ruta o dice que un comando es un Bash integrado.
which
devuelve la ruta o nada para funciones integradas como exit
otype
Lo extraño es que type echo
dice que el eco está integrado como esperaba.
Pero which echo
proporciona /bin/echo como ruta al ejecutable de eco. Esto no parece suceder con ningún otro comando integrado.
Me pregunto cuál es la diferencia entre los dos, cuál elige Bash para ejecutar en scripts y en la línea de comando, y cuál es la historia detrás de los dos ecos.
Mi sistema es Ubuntu Desktop 12.04
Respuesta1
Hay un comando incorporado echo
y un comando echo
. Úselo type -a echo
para verlos todos.
Debido a que type
en sí mismo es un shell integrado, puede conocer otras funciones integradas.
Y which
es sólo una orden habitual. Por lo tanto, no sabe qué shell está utilizando y sólo le informa sobre los comandos en el disco.
Generalmente type
es el comando correcto para decirle qué sucede si escribe alguna palabra en su shell.