Bash es un intérprete de comandos que funciona como interfaz entre el usuario y el sistema operativo. Encargándose de traducir los comandos de los usuarios a instrucciones que el sistema operativo pueda entender y viceversa.
Bash ha sido escrito por el Proyecto GNU y pertenece a la categoría de interfaz de usuarios en modo carácter o texto.
Cómo configurar nuestro intérprete
La distribucion que utilicemos configurará Bash por defecto para que podamos utilizarlo de forma inmediata. Sin embargo, es posible modificar ciertos parámetros de configuración, para lo cual es muy necesario saber dónde debemos hacerlo.
Existen tres ficheros en el directorio de un usuario en base a los cuales puede configurar a su gusto la shell Bash. Estos ficheros permiten que al arrancar el ordenador, iniciar una nueva shell o ejecutar comandos esté disponible la configuración elegida por el usuario.
Los nombres de estos ficheros son .bash_profile, .bashrc y .bash_logout. Al iniciar el sistema, todos los usuarios parten con la configuración de Bash establecida en /etc/profile y, en caso de que dentro del directorio del usuario existan los ficheros vistos anteriormente, éstos sobreescribirán la configuración establecida por el último fichero.
.bash_profile
Este fichero es el más importante de los de configuración del usuario. Cada vez que el usuario entra en el sistema es leído y los comandos incluidos en él ejecutados. Cualquier cambio hecho en este fichero no tendrá efecto hasta que reiniciemos el sistema. Una alternativa para no tener que salir del sistema es ejecutar el comando:
source .bash_source
En caso de que Bash no encuentre este fichero en el directorio del usuario, buscará .bash_login (derivado del C shell) primero y si éste tampoco está, .profile (derivado del Bourne y Korn shell). Sólamente uno de estos ficheros será leído en caso de que existan (en el orden citado).
Como ejemplo os presento el contenido de mi .bash_profile:
# Incluye .bashrc si existe
if [ -f ~/.bashrc ]; then
. ~/.bashrc
else
# Modificación de la variable de idioma
LANG=es_ES@euro
export LANG
# LESSCHARSET=latin1
# export CLASSPATH=/usr/share/j2sdk1.4.2_09/classes/: ./:/usr/share/j2sdk1.4.2_09/lib/
# PATH=$PATH:/usr/share/j2sdk1.4.2_09/bin:/usr/share/eclipse
PATH=$PATH:/home/jlucas/Scripts
# export PATH
# No pone duplicados en el historial
export HISTCONTROL=ignoredups
umask 0022
eval `dircolors -b /home/jlucas/.dir_colors`
alias emacs=’emacs -fn 10×20′ # Establecimiento de la fuente apropiada
if [ "$TERM" != "dumb" ]; then
eval `dircolors -b`
alias ls=’ls –color=auto’
# alias dir=’ls –color=auto –format=vertical’
# alias vdir=’ls –color=auto –format=long’
fi
# Algunos alias más
alias ll=’ls -l’
alias la=’ls -A’
alias l=’ls -CF’
# Alias para evitar cometer errores
alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’
# Prompt coloreado
PS1=”\[\e[0;33m\]\t\[\e[0;32m\] [\[\e[0;32m\]\u\[\e[0;32m\]@\[\e[0;32m\] \h\[\e[0;32m\]:\W\[\e[0;32m\]]$ \[\e[0;37m\]“
# Muletilla para que en emacs no aparezcan símbolos raros al intentar colorear el prompt.
#if [ "$EMACS" == "t" ]; then
# PS1=’\t[\u@\h:\W]\$ ‘
#fi
# Habilita el autocompletado, no es necesario si ya está habilitado en
# /etc/bash.bashrc.
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion # El punto indica que se ejecute el contenido del fichero.
fi
fi
Si quieres descargarlo, pincha aquí.
.bashrc
Éste es leído cuando el usuario arranca una subshell, escribiendo por ejemplo bash en la linea de comandos. Esto nos permite ejecutar diferentes comandos para la entrada al sistema o para la ejecución de una subshell.
Si queréis disponer de un fichero ejemplo, os presento mi .bashrc, que como podréis apreciar es muy similar al .bash_profile visto anteriormente:
# If running interactively, then:
# Modificación de la variable de idioma
LANG=es_ES@euro
export LANG
# LESSCHARSET=latin1
# export CLASSPATH=/usr/share/j2sdk1.4.2_09/classes/:
./:/usr/share/j2sdk1.4.2_09/lib/
# PATH=$PATH:/usr/share/j2sdk1.4.2_09/bin:/usr/share/eclipse
PATH=$PATH:/home/jlucas/Scripts
# export PATH
# No pone duplicados en el historial
export HISTCONTROL=ignoredups
umask 0022
eval `dircolors -b /home/jlucas/.dir_colors`
alias emacs=’emacs -fn 10×20′ # Establecimiento de la fuente apropiada
if [ "$TERM" != "dumb" ]; then
eval `dircolors -b`
alias ls=’ls –color=auto’
# alias dir=’ls –color=auto –format=vertical’
# alias vdir=’ls –color=auto –format=long’
fi
# Algunos alias más
alias ll=’ls -l’
alias la=’ls -A’
alias l=’ls -CF’
# Alias para evitar cometer errores
alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’
# Prompt coloreado
PS1=”\[\e[0;33m\]\t\[\e[0;32m\] [\[\e[0;32m\]\u\[\e[0;32m\]@\[\e[0;32m\] \h\[\e[0;32m\]:\W\[\e[0;32m\]]$ \[\e[0;37m\]“
# Muletilla para que en emacs no aparezcan símbolos raros al intentar colorear el prompt.
#if [ "$EMACS" == "t" ]; then
# PS1=’\t[\u@\h:\W]\$ ‘
#fi
# Habilita el autocompletado, no es necesario si ya está habilitado en
# /etc/bash.bashrc.
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion # El punto indica que se ejecute el contenido del fichero.
fi
Si quieres descargarlo, pincha aquí.
.bash_logout
Es el fichero leído por Bash cuando salimos del sistema. Podemos definir, por ejemplo que se borren los ficheros temporales creados en nuestra ultima sesión o registrar el tiempo que hemos estado utilizando el sistema. Si el fichero no existe, ningún comando será ejecutado a nuestra salida.
Visto esto, ya estás en disposición de configurar tu Bash, de modo que puedas sacarle el máximo partido posible.












0 Comentarios ↓
Jaluro
¡Aprovecha y sé el primero en dejar uno!
Deja tu comentario
Por favor, no uses un lenguaje inapropiado, spam o cualquier otro tipo de conducta inadecuada. De lo contrario me reservo el derecho de eliminar y/o modificar aquellos comentarios que contengan algo de lo citado anteriormente.