===== Comandos internos VS comandos externos en Bash ===== **Comandos internos**: Son los nativos de la terminal Bash. Ejecutando el comando "//help//" en la terminal se obtiene un listado de los comandos internos disponibles. **Comandos externos**: Son los comandos no nativos de la terminal, deben de ser llamados por el interprete de comandos para ser ejecutados. Comandos externos son todos los que se encuentran en la variable $PATH. ==== Averiguar si un comando es interno o externo ==== Además del comando "//help//" en Bash para listar los comandos internos, podemos hacer uso de type y where para saber el tipo de comando utilizado. **Comando interno**. type let && whereis let let is a shell builtin let: **Comando externo**. type expr && whereis expr expr is hashed (/usr/bin/expr) expr: /usr/bin/expr /usr/bin/X11/expr /usr/share/man/man1/expr.1.gz ==== Rendimiento entre comandos internos y externos ==== Los comandos internos siempre tienen un mayor rendimiento, siendo estos los recomendados a la hora de realizar tareas que requieran la terminal Bash y mayor velocidad de procesamiento. **Comando interno** (let) time let a=99999999999*39999999 && echo $a real 0m0.000s user 0m0.000s sys 0m0.000s 3999999899960000001 **Comando externo** (expr) time a=$(expr 99999999999 \* 39999999)$a real 0m0.007s user 0m0.004s sys 0m0.000s 3999999899960000001