¿Cuál es la diferencia entre el comando echo integrado y /bin/echo?

¿Cuál es la diferencia entre el comando echo integrado y /bin/echo?

Estaba jugando con los typecomandos whichy y descubrí algo extraño.

typedevuelve la ruta o dice que un comando es un Bash integrado. whichdevuelve la ruta o nada para funciones integradas como exitotype

Lo extraño es que type echodice que el eco está integrado como esperaba.

Pero which echoproporciona /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 echoy un comando echo. Úselo type -a echopara verlos todos.

Debido a que typeen sí mismo es un shell integrado, puede conocer otras funciones integradas.

Y whiches 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 typees el comando correcto para decirle qué sucede si escribe alguna palabra en su shell.

información relacionada