Quiero instalar rvm en mi máquina Snow Leopard.
Dice que necesito agregar una línea a mi .bashrc
archivo (estoy usando bash) pero ¿dónde está mi .bashrc
archivo?
Quiero instalar rvm en mi máquina Snow Leopard.
Dice que necesito agregar una línea a mi .bashrc
archivo (estoy usando bash) pero ¿dónde está mi .bashrc
archivo?
Respuestas:
Con respecto al problema .bashrc
anterior:
En la mayoría de los sistemas, ~/.bashrc
solo se usa al iniciar un shell interactivo sin inicio de sesión . Sin embargo, cuando inicia un nuevo shell, a menudo es un shell de inicio de sesión interactivo . Como se trata de un shell de inicio de sesión , .bashrc
se ignora. Para mantener el ambiente consistente entre la falta de inicio de sesión y de ingreso de conchas, debe fuente el .bashrc
de su .profile
o su .bash_profile
.
Consulte el Manual de referencia de Bash, sección 6.2 Archivos de inicio de Bash
Se invoca 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 existe y es legible.
Se invoca como un shell interactivo sin inicio de sesión
Cuando se inicia un shell interactivo que no es un shell de inicio de sesión, Bash lee y ejecuta comandos desde ~ / .bashrc, si ese archivo existe.
Entonces, típicamente, su ~ / .bash_profile 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 (Running Leopard), no había línea a la fuente ~/.bashrc
. Tuve que agregar esta funcionalidad por mi cuenta.
En algunos sistemas y otros sistemas operativos, .bashrc
se obtiene de global /etc/profile
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 "Agregue esto a su .bashrc", lo que realmente quieren decir es "Agregue esto a su .bash_profile". Quieren que la funcionalidad se agregue a su shell de inicio de sesión (que es .bash_profile
), no a su shell de no inicio de sesión . En realidad, generalmente no importa y .bashrc
es aceptable colocar la configuración .
Resulta que en Mac OS X Snow Leopard y Mac OS X Lion, el archivo que se carga se llama .profile
, no .bashrc
.
Lo que desea hacer es crear un archivo ~/.profile
y llamarlo .profile (si aún no existe).
Ponga allí toda la información que necesita para cargar con cada instancia de bash (Gracias, el píxel púrpura).
Un par de notas al margen:
-a
como un parámetro como tal:ls -a
~
símbolo representa /Users/YourUserName
donde YourUserName es el nombre corto de su nombre de usuario.Editar: Chris Page observa (correctamente) que lo que coloque en un archivo .profile se aplicará a cualquier shell que esté usando (es decir, zhs, bash, etc.). Si desea que el contenido afecte solo al shell bash, coloque el contenido en un .bash_profile
archivo en lugar de un .profile
archivo.
.bash_profile
ya existe un directorio de inicio, ¡el .profile
archivo no se leerá!
Tienes que hacer la tuya .bashrc
. Simplemente puede usar un editor de texto para crear un archivo llamado .bashrc
(sin extensión) con el contenido que desee y guardarlo en su directorio de inicio ( /Users/YourUserName/
).
.bashrc
funcionará, pero solo si no hay .profile
. Sin ~/.profile
embargo, supongo que existe por defecto. Me alegro de poder ayudar! (Y debe poner su solución en una respuesta y aceptarla para futuros lectores de esta pregunta).
Encuentro que en mi OS 10.6.5 la configuración de bash está en "/ etc / bashrc". Creo que estas son las especificaciones de nivel superior para Shell.
Sin embargo, necesita una cuenta raíz para modificarla. Las especificaciones locales por usuario "~ / .bashrc" deben comenzar con el siguiente fragmento, para leer y cargar la configuración de bash a nivel del sistema:
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
Normalmente agrego alias en el nivel de sistema bashrc para que todos los usuarios puedan acceder a ellos también. A menos que no quieran usar sus atajos y alias.
¡Buena suerte!
~/.bashrc
, no /etc/bashrc
. /etc/bashrc
son las configuraciones globales para todos los usuarios en su sistema, que probablemente no sea lo que desea. Además, Apple puede aparecer y cambiar /etc/bashrc
periódicamente, lo que podría arruinar sus personalizaciones.
Use el archivo .profile para agregar todo lo que agregaría 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"