¿Qué es .bashrc y cómo personalizarlo?

Una fotografía de un mensaje de terminal de Ubuntu.

Hay una serie de archivos ocultos escondidos en su directorio de inicio. Si ejecuta macOS o una distribución popular de Linux, verá el archivo ".bashrc" cerca de la parte superior de sus archivos ocultos. Esta guía explica qué hace el archivo .bashrc y por qué debería editarlo y personalizarlo.

Índice
  1. ¿Qué es .bashrc?
  2. ¿Cómo puedo editar .bashrc?
  3. Consejos de personalización de .bashrc
    1. 1. Alias
    2. 2. Funciones
    3. 3. Agregar un mensaje Bash simple
    4. 4. Modificar la variable PATH
    5. 5. Exportación de nuevas variables de entorno
    6. 6. Vincular .bashrc con .bash_profile
  4. Preguntas frecuentes
    1. ¿Mi archivo .bashrc funcionará con otros shells de Linux?
    2. ¿Es posible configurar mis permisos de archivos predeterminados usando Bash?

¿Qué es .bashrc?

Si ejecuta un sistema operativo basado en Unix o similar a Unix, es probable que tenga instalado bash como su terminal predeterminado. Si bien existen muchos shells diferentes, bash es el más común y, probablemente, el más popular. Si no sabe lo que eso significa, bash interpreta la entrada escrita en el programa Terminal y ejecuta comandos basados ​​en su entrada. Permite cierto grado de personalización mediante scripts, que es donde entra en juego .bashrc.

Una captura de pantalla del archivo bashrc dentro de un administrador de archivos.

El archivo .bashrc contiene una lista de opciones de personalización para el shell bash y se carga en cada inicio. El archivo .bashrc se encuentra en el directorio de usuarios domésticos. El . (punto) delante del nombre del archivo significa que está oculto a la vista. Deberá activar la opción "Ver archivos ocultos" para verlo.

¿Cómo puedo editar .bashrc?

Puedes editar .bashrc en cualquier editor de texto. También puedes usar nano para editarlo en la Terminal.

Si no ha editado su archivo .bashrc antes, es posible que esté vacío. ¡Está bien! Si no, siéntete libre de agregar tus elementos en cualquier línea.

Las ediciones en .bashrc deben seguir el formato de secuencias de comandos de bash. Si no sabe cómo crear secuencias de comandos con bash, existen varios recursos en línea. Esta guía representa una introducción para principiantes a los aspectos de Bash que no se mencionan aquí.

Cualquier cambio que realice en .bashrc se aplicará la próxima vez que inicie la terminal. Si desea aplicarlos inmediatamente, ejecute el siguiente comando:

Nota: puedes agregar a .bashrc donde quieras, pero siéntete libre de usar comentarios (líneas precedidas por #) para documentar su código.

Consejos de personalización de .bashrc

Hay un par de trucos útiles para hacer que su experiencia con el terminal sea más eficiente y fácil de usar.

1. Alias

Los alias le permiten crear una versión más corta de un comando largo.

Por ejemplo, el comando ls se utiliza a menudo para mostrar el contenido de su directorio. También puedes usar ls -lha para mostrar el contenido con más detalle. Ahora hay un alias llque está configurado para ejecutarse ls -lha. Sólo tipo ll en la terminal, y ejecutará el ls -lha dominio.

Una terminal que muestra una lista de alias básicos.

Deberá formatear sus alias de esta manera:

Escriba el texto que desea reemplazar a la izquierda y el comando a la derecha entre comillas. Utilícelo para crear versiones más cortas del comando, protegerse contra errores tipográficos comunes o forzar que un comando se ejecute siempre con sus opciones favoritas. También puedes evitar la sintaxis molesta o fácil de olvidar con tu taquigrafía preferida.

2. Funciones

Además de los nombres abreviados de los comandos, puede combinar varios comandos en una sola operación utilizando funciones bash. Pueden resultar bastante complicados, pero generalmente siguen esta sintaxis:

function_name () {
    command_1
    command_2
}

Por ejemplo, el siguiente comando combina mkdir y cd. Mecanografía md folder_name crea un directorio llamado "nombre_carpeta" en su directorio de trabajo y navega allí inmediatamente.

md () {
    mkdir -p $1
    cd $1
}

El $1 que ves en la función representa el primer argumento, que es el texto que escribes inmediatamente después del nombre de la función.

3. Agregar un mensaje Bash simple

También puede utilizar el archivo .bashrc para crear un indicador de shell personalizado. El símbolo del shell es una línea de texto que aparece al comienzo de cada línea de entrada del terminal. Esto puede contener información estática, como el nombre de su sistema, o scripts dinámicos que cambian según el directorio de trabajo actual del shell.

Aquí hay varios mensajes de bash interesantes que puede agregar a su archivo .bashrc.

4. Modificar la variable PATH

La variable PATH es una variable importante que le indica a su shell dónde encontrar scripts y binarios para la sesión actual. Puede utilizar el archivo .bashrc para almacenar/cambiar el contenido de su variable PATH. Esto es útil en los casos en los que desea ejecutar sus propios programas desde un directorio personalizado.

Para modificar la variable PATH, agregue la siguiente línea de código al final de su .bashrc:

Esto le indicará a su shell que cargue el valor predeterminado de PATH antes de cargar cualquier argumento personalizado.

Una captura de pantalla que muestra la variable PATH haciendo referencia a sí misma.

Ahora agregue sus propios directorios al final de esta variable PATH.

PATH=":/home/$USER/bin:/home/$USER/git"
Una captura de pantalla que muestra una variable PATH con directorios personalizados.

5. Exportación de nuevas variables de entorno

Las variables de entorno son contenedores que contienen valores específicos de la sesión para un programa o proceso del sistema. Contiene cadenas que dan a los programas una opción o un recurso que pueden utilizar mientras se ejecutan.

Por ejemplo, algunos programas utilizan la variable de entorno “POSTGRESQL_DATABASE” cuando se vinculan a un proceso de base de datos externo:

POSTGRESQL_DATABASE="postgres://ramces:password@localhost:5432/db"
Una captura de pantalla que muestra una variable de entorno personalizada.

Exporta la variable a tu shell. Esto la convertirá de una variable de shell normal a una variable de entorno:

POSTGRESQL_DATABASE="postgres://ramces:password@localhost:5432/db"
export POSTGRESQL_DATABASE
Una captura de pantalla que muestra el comando de exportación y la nueva variable de entorno.

6. Vincular .bashrc con .bash_profile

La diferencia entre .bashrc y .bash_profile es uno de los mayores puntos de confusión para un usuario novato de Linux. bash_profile solo se ejecuta una vez durante el inicio de sesión, mientras que .bashrc se ejecuta cada vez que se inicia un nuevo shell.

Sin embargo, esta división turbia significa que es posible mezclar los dos y no ejecutar el comando que desea ejecutar. Una forma rápida de resolver este problema es asegurarse de que .bashrc se ejecute tan pronto como se cargue .bash_profile.

Agregue la siguiente línea de código al final del archivo .bashrc:

if ( -f ~/.bashrc ); then
    . ~/.bashrc
fi
Una terminal que muestra una declaración if básica en bash_profile.

Este pequeño bloque de código le indicará al shell que verifique si existe un archivo .bashrc en su directorio de inicio. Si encuentra uno, Bash cargará el archivo y ejecutará sus comandos en la instancia de shell actual.

Bueno saber: Si bien Bash se usa a menudo como interfaz de terminal para su sistema, también puede usar Python para automatizar sus tareas informáticas.

Preguntas frecuentes

¿Mi archivo .bashrc funcionará con otros shells de Linux?

Los desarrolladores de Bash diseñaron el archivo .bashrc para que funcione sólo con el shell Bash. Sin embargo, es importante tener en cuenta que la mayoría de los comandos dentro de un archivo .bashrc son compatibles con algunos shells similares a Unix. Por ejemplo, puede copiar el contenido de un archivo .bashrc a su homólogo del shell Korn, .kshrc, y seguirá funcionando.

¿Es posible configurar mis permisos de archivos predeterminados usando Bash?

Sí. Para hacer esto, es necesario agregar el umask comando al final de su archivo .bashrc. Este es un programa simple que establece la máscara de bits en los bits de permiso que desea configurar. Por ejemplo, el comando umask 027 es el equivalente a correr sudo chmod -R 750 ./directory.

Crédito de la imagen: Unsplash. Todas las modificaciones y capturas de pantalla realizadas por Ramces Red.

Subir