Table of Contents

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