Funciones definidas por el usuario.
Por lo general, las funciones de bash se almacenan permanentemente en un bash
script de inicio.
- Scripts de inicio de todo el sistema:
/etc/profile
para shells de inicio de sesión y /etc/bashrc
para shells interactivos.
- El usuario define los scripts
~/.bash_profile
de inicio : para shells de inicio de sesión y ~/.bashrc
para shells interactivos.
- Puede encontrar más información sobre shells interactivos / de inicio de sesión en la
man
pá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.c
la 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 declare
comando bash , aún se utilizan otros shells typeset
. En bash declare
ha reemplazado el typeset
comando.
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
, cd
y :
. Se compilan en una biblioteca que está vinculada al bash
ejecutable. Construir las definiciones en el ejecutable ahorra tiempo en comparación con cargar una definición externa. Las definiciones de estas funciones (contenidas en .def
archivos fuente que se analizan en fuente C) se guardan en el builtins
directorio 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?)