Funciones definidas por el usuario.
Por lo general, las funciones de bash se almacenan permanentemente en un bashscript de inicio.
- Scripts de inicio de todo el sistema:
/etc/profilepara shells de inicio de sesión y /etc/bashrcpara shells interactivos.
- El usuario define los scripts
~/.bash_profilede inicio : para shells de inicio de sesión y ~/.bashrcpara shells interactivos.
- Puede encontrar más información sobre shells interactivos / de inicio de sesión en la
manpágina bash en la sección INVOCACIÓN.
Las funciones de shell definidas por el usuario se cargan dinámicamente en un hash (o tabla de búsqueda) cuando se inicia bash. Desde el archivo fuente bash, variable.cla definición de la tabla es:
/* The list of shell functions that the user has created, or that came from
the environment. */
HASH_TABLE *shell_functions = (HASH_TABLE *)NULL;
Las funciones definidas por el usuario se pueden enumerar con el declarecomando bash , aún se utilizan otros shells typeset. En bash declareha reemplazado el typesetcomando.
declare -f
Las funciones existen en la memoria durante la vida útil del bash shell.
Funciones definidas por shell (integradas)
Estas son funciones comunes, tales como echo, printf, cdy :. Se compilan en una biblioteca que está vinculada al bashejecutable. Construir las definiciones en el ejecutable ahorra tiempo en comparación con cargar una definición externa. Las definiciones de estas funciones (contenidas en .defarchivos fuente que se analizan en fuente C) se guardan en el builtinsdirectorio de fuente bash.
Un lado útil: para obtener información sobre el uso de un comando de shell incorporado help <command>. p.ej
help # list all builtins
help declare # info and options for declare
help -m declare # gives man style information for declare
cd is a shell builtin. Eche un vistazo a la página de manual de su shell (zsh?)