Hay dos escenarios:
- Estás usando Linux
- Estás usando Mac Os X
Para ambos, desea obtener ~/.bashrc
en su perfil que se carga o obtiene cuando se inicia el shell de su terminal.
LINUX
En Linux, ~/.profile
se fuente automáticamente en su shell cuando se inicia. Entonces, si va a su terminal y escribe cd ~; ls -A
, verá todos sus archivos y directorios en su directorio de inicio ( /home/usrname/
). Deberías ver un archivo llamado .profile
. Este es el archivo que se "origina" automáticamente cuando inicia el terminal.
Si desea agregar alias y funciones a ~/.bashrc
(que es lo que hago), entonces debe (dentro de ~/.profile
agregar una instrucción if que verifique si ~/.bashrc
es un archivo no vacío y luego lo fuente.
Para verificar si ~/.profile
ya lo hace, ingrese nano ~/.profile
. Esto lo abrirá en un editor de texto (puede usar gedit si sabe que lo tiene o incluso vim si sabe cómo usarlo). Puede obtener un archivo de texto vacío (no debería), pero si lo hace, simplemente continúe. Si no ve una línea en ninguna parte que diga source ~/.bashrc
, ingrese las siguientes líneas en algún lugar (colóquelo en un lugar razonable como al final o al principio y no en el medio de una instrucción if):
if [ -s ~/.bashrc ]; then
source ~/.bashrc;
fi
Esto comprueba si ~/.bashrc
es un archivo no vacío (con if [ -s ~/.bashrc ]
), y si es así, lo obtiene. Bastante simple. Ahora, puede agregar cualquier alias válido, función, variable, etc. a ~/.bashrc
.
MAC OS X
Por defecto, las fuentes Max OS X ~/.bash_profile
. Para poder agregar cosas a ~/.bashrc
(que es, de nuevo, lo que hago también en OS X), entonces sigue el mismo procedimiento que Linux. En la terminal ingrese cd ~; nano .bash_profile
. Verifique si hay una línea que diga source ~/.bashrc
y si no está allí agregue la instrucción if anterior ( if [ -s ~/.bashrc ]; then source ~/.bashrc; fi
).
NOTAS
Al escribir una declaración if, asegúrese de dejar espacios entre básicamente todo (por ejemplo if [ -s ~/.bashrc]; then echo "found"; fi
, no funciona porque no hay espacio entre ellos ~/.bashrc
y ]
el intérprete pensará que esta es una palabra).
Si desea descubrir cómo verificar mejor las cosas en una declaración if, vaya a la terminal e ingrese man \[
; esto esencialmente le da el desglose de una declaración if. Por ejemplo, if [ -f /path/to/file ]; then echo "it's a file"; else echo "not a file"; fi
comprueba si /path/to/file
es un archivo y si se imprime en stdout en consecuencia. Siempre hago referencia a esto también para una referencia más fácil a los ojos y rápida: 7.2. Operadores de prueba de archivos .
Espero que esto ayude. Recuerdo lo confundido que estaba cuando comencé todo esto (que no fue hace mucho tiempo); así que, ¡buena suerte con tus futuros esfuerzos de UNIX!