\section{Archivos de configuración del intérprete de comandos {\tt bash}}

\subsection{Introduccion}
La configuración de un intérprete de comandos consiste mayormente en
establecer las variables de entorno, los \emph{aliases} de comandos y
el formato del \emph{prompt} que se necesiten. Dependiendo del tipo de
uso que se le dará al intérprete de comandos, habrá diferentes
necesidades de configuración de estos valores.

Existen dos modalidades de uso del \emph{intérprete de comandos} bash:

\begin{description}
\item[interactiva] es la común
\item[no interactiva] es propicia para scripts
\end{description}

Por esto, el intérprete de comandos tiene unos cuantos archivos que se 
ejecutan al inicio.

Los archivos pueden categorizarse en:

\begin{description}
  
\item[no­login] cada vez que se ejecuta el bash (incluso desde el
  interprete de comandos), se leen estos archivos. Es el caso más
  común, cada vez que se abre una \comando{konsole}, \comando{xterm},
  \comando{gnome-terminal} o equivalente, se ejecutan.
  
\item[login] sólo cuando el usuario comienza la sesión se ejecuta.  En
  tiempos de terminales y consolas era fácil identificar cuando el
  usuario se \emph{logueaba}. Hoy en día es muy popular el login
  gráfico, el cual no carga inmediatamente un \comando{bash} como
  antes.
\end{description}

\subsection{.bashrc}

Este archivo es del tipo no-login. Primero se carga el archivo global
al sistema \archivo{/etc/bashrc} y luego sea pasa al archivo
\archivo{.bashrc} en el directorio personal del usuario.

Es un archivo que probablemente llame a otros como por ejemplo
\archivo{.profile} y establezca las variable se entorno.

\subsection{.bash\_profile}

Este archivo es del tipo login, por lo que se ejecuta una sola vez en
una sesión. 

Todos los archivos son scripts por lo que en la sección
\ref{seccion:progbash} se ven ejemplos de programación en
\comando{bash}.  Permiten personalizar el \comando{bash}
enormemente u obligando a los usuario a ejecutar ciertas tareas
administrativas en cuanto ingresen al sistema o bien ejecutan el
interprete de comandos.

