Je veux installer rvm sur ma machine Snow Leopard.
Il indique que je dois ajouter une ligne à mon fichier .bashrc
(j'utilise bash), mais où se trouve mon fichier .bashrc
?
Il s’avère donc que sous Mac OS X Snow Leopard et Mac OS X Lion, le fichier chargé s’appelle .profile
et non .bashrc
.
Ce que vous voulez faire, c'est créer un fichier dans ~/.profile
et l'appeler .profile (s'il n'existe pas déjà).
Mettez toutes les informations que vous avez besoin de charger avec chaque instance de bash (Merci, thepurplepixel).
Quelques notes en marge:
-a
en tant que paramètre: ls -a
~
signifie /Users/YourUserName
où YourUserName est le nom abrégé de votre nom d'utilisateur.Edit: Chris Page note (correctement) que tout ce que vous placez dans un fichier .profile s’appliquera à tout Shell utilisé (par exemple, zhs, bash, etc.). Si vous souhaitez que le contenu affecte uniquement le shell bash, placez-le dans un fichier .bash_profile
au lieu d'un fichier .profile
.
En ce qui concerne le problème avec .bashrc
ci-dessus:
Sur la plupart des systèmes, ~/.bashrc
n'est utilisé que lors du démarrage d'un interactif non-login Shell. Cependant, lorsque vous démarrez un nouveau shell, il s'agit souvent d'un interactif login Shell. Puisqu'il s'agit d'un login Shell, le .bashrc
est ignoré. Pour préserver la cohérence de l'environnement entre les shells de connexion et de connexion, vous devez source le .bashrc
à partir de votre .profile
ou de votre .bash_profile
.
Voir le manuel de référence Bash, section 6.2 Fichiers de démarrage Bash
Appelé en tant que shell de connexion interactif ou avec --login
Lorsque Bash est appelé en tant que shell de connexion interactif ou non interactif avec l'option --login, il lit et exécute d'abord les commandes du fichier/etc/profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~/.bash_profile, ~/.bash_login et ~/.profile, dans cet ordre, puis lit et exécute les commandes à partir de la première existant et lisible.
Appelé en tant que shell interactif sans connexion
Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, Bash lit et exécute les commandes de ~/.bashrc, si ce fichier existe.
Donc, généralement, votre ~/.bash_profile contient la ligne
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
après (ou avant) toute initialisation spécifique à la connexion.
Sur mon Mac (Running Leopard), il n'y avait pas de ligne vers le code source ~/.bashrc
. Je devais ajouter cette fonctionnalité moi-même.
Sur certains systèmes et autres systèmes d’exploitation, .bashrc
provient du /etc/profile
ou du /etc/bash_profile
global ou est créé à l’aide des fichiers de modèle de /etc/skel
.
Pour être honnête, la communauté ne comprend pas bien la distinction entre .bashrc
et .bash_profile
. Lorsque de nombreux développeurs disent "Ajouter ceci à votre fichier .bashrc", ils veulent dire en réalité "Ajouter ceci à votre fichier .bash_profile". Ils veulent que la fonctionnalité soit ajoutée à votre login Shell (qui est .bash_profile
), pas à votre non-login Shell. En réalité, peu importe, placer une configuration dans .bashrc
est acceptable.
Vous devez créer votre propre .bashrc
. Vous pouvez simplement utiliser un éditeur de texte pour créer un fichier appelé .bashrc
(sans extension) avec le contenu souhaité et l'enregistrer dans votre répertoire personnel (/Users/YourUserName/
).
Je trouve que dans mon OS 10.6.5, les paramètres bash se trouvent dans "/ etc/bashrc". Je pense que ce sont les spécifications de niveau supérieur pour Shell.
Cependant, vous avez besoin d'un compte root pour le modifier. Les spécifications locales par utilisateur "~/.bashrc" doivent commencer par le fragment de code suivant, permettant de lire et de charger les paramètres bash au niveau du système:
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
J'ajoute normalement des alias dans le répertoire système bashrc afin que tous les utilisateurs puissent également y accéder. À moins qu'ils ne souhaitent pas utiliser vos raccourcis et vos alias.
Bonne chance!
Utilisez le fichier .profile pour ajouter tout ce que vous ajouteriez à un fichier linux .bashrc.
Par exemple
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"