¿Dónde encontrar el archivo .bashrc en Mac OS X Snow Leopard and Lion?
Quiero instalar rvm en mi máquina de Snow Leopard.
Dice que necesito añadir una línea a mi archivo .bashrc
(estoy usando bash) pero ¿dónde está mi archivo .bashrc
?
Quiero instalar rvm en mi máquina de Snow Leopard.
Dice que necesito añadir una línea a mi archivo .bashrc
(estoy usando bash) pero ¿dónde está mi archivo .bashrc
?
En cuanto al problema con .bashrc
arriba:
En la mayoría de los sistemas, ~/.bashrc
sólo se usa cuando se inicia un shell interactivo no-login. Sin embargo, cuando se inicia un nuevo shell, a menudo es un shell interactivo login. Ya que este es un shell login, el .bashrc
es ignorado. Para mantener el entorno consistente entre los shells de no login y de login, debes obtener el .bashrc
de tu .profile
o de tu .bash_profile
.
Mira el Manual de Referencia de Bash, sección 6. 2 Archivos de inicio de Bash
Invocado como un shell de inicio de sesión interactivo, o con –login
Cuando se invoca Bash como un shell de inicio de sesión interactivo, o como un shell no interactivo con la opción –login, primero lee y ejecuta comandos del archivo /etc/profile, si ese archivo existe. Después de leer ese archivo, busca ~/.bash_profile, ~/.bash_login, y ~/.profile, en ese orden, y lee y ejecuta comandos del primero que exista y sea legible.
Se invoca como una shell interactiva que no es de login
Cuando se inicia una shell interactiva que no es de login, Bash lee y ejecuta comandos de ~/. bashrc, si ese archivo existe.
Entonces, típicamente, su perfil ~/.bash_ contiene la línea
if [-f ~/.bashrc]; then . ~/.bashrc; fi
después (o antes) de cualquier inicialización específica de inicio de sesión.
En mi Mac (Leopardo en ejecución), no había ninguna línea a la fuente ~/.bashrc
. Tuve que añadir esta funcionalidad por mi cuenta.
En algunos sistemas y otros sistemas operativos, .bashrc
se obtiene del /etc/profile
global o /etc/bash_profile
, o se hace usando los archivos de plantilla de /etc/skel
.
Para ser honesto, la distinción entre .bashrc
y .bash_profile
no es bien entendida por la comunidad. Cuando muchos desarrolladores dicen “Añade esto a tu .bashrc”, lo que realmente quieren decir es “Añade esto a tu .bash_profile”. Quieren que la funcionalidad sea agregada a tu shell login (que es .bash_profile
), no a tu shell non-login. En realidad, no suele importar y colocar la configuración en .bashrc
es aceptable.
Así que resulta que en Mac OS X Snow Leopard, así como en Mac OS X Lion, el archivo que se carga se llama .profile
, no .bashrc
.
Lo que quieres hacer es crear un archivo en ~/.profile
y llamarlo .profile (si no existe ya).
Pon la información que necesites cargar con cada instancia de bash allí (Gracias, thepurplepixel).
Un par de notas al margen:
-a
como un parámetro como tal: ls -a
~
representa /Users/YourUserName
donde YourUserName es el nombre corto de su nombre de usuario. Edit: Chris Page señala (correctamente) que cualquier cosa que coloque en un archivo .profile se aplicará a cualquier shell que esté usando (es decir, zhs, bash, etc.). Si quieres que el contenido afecte sólo a la shell bash, coloca el contenido en un archivo .bash_profile
en lugar de un archivo .profile
.
Encuentro que en mi OS 10.6.5 la configuración de bash está en “/etc/bashrc”. Creo que estas son las especificaciones de alto nivel para el shell.
Sin embargo, necesitas una cuenta de root para modificarlo. Las especificaciones locales por usuario “~/.bashrc” deberían comenzar con el siguiente fragmento, para leer y cargar la configuración del bash a nivel de sistema:
if [-r /etc/bashrc]; then
. /etc/bashrc
fi
Normalmente añado alias en el bashrc a nivel de sistema para que todos los usuarios puedan acceder a ellos también. A menos que no quieran usar tus atajos y alias.
¡Buena suerte!
Usa el archivo .profile para añadir cualquier cosa que añadirías a un archivo .bashrc de linux.
Por ejemplo
PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit"