Où trouver le fichier .bashrc sur Mac OS X Snow Leopard et Lion ?
Je veux installer le rvm sur ma machine Snow Leopard.
Il est écrit que je dois ajouter une ligne à mon fichier .bashrc
(j'utilise bash) mais où est mon fichier .bashrc
?
Je veux installer le rvm sur ma machine Snow Leopard.
Il est écrit que je dois ajouter une ligne à mon fichier .bashrc
(j'utilise bash) mais où est mon fichier .bashrc
?
Concernant le problème avec .bashrc
ci-dessus :
Sur la plupart des systèmes, ~/.bashrc
n'est utilisé que lors du démarrage d'un shell interactif non connecté. Cependant, lorsque vous démarrez un nouveau shell, il s'agit souvent d'un shell _interactif login. Comme il s'agit d'un shell login, le .bashrc
est ignoré. Pour garder l'environnement cohérent entre les shells non-login et login, vous devez sourcer le .bashrc
à partir de votre .profile
ou de votre `.bashprofile`.
Voir le Manuel de Référence Bash, section 6. 2 Fichiers de démarrage Bash
Invoqué comme un shell de connexion interactif, ou avec l'option –login
Lorsque Bash est invoqué comme un shell de connexion interactif, ou comme un shell 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 cherche ~/.bash_profile, ~/.bash_login, et ~/.profile, dans cet ordre, et lit et exécute les commandes du premier qui existe et qui est lisible.
Invoqué comme un shell interactif sans login
Quand un shell interactif qui n'est pas un shell de login est lancé, Bash lit et exécute les commandes de ~/. bashrc, si ce fichier existe.
Ainsi, typiquement, votre ~/.bash_profile contient la ligne
if [-f ~/.bashrc]; then . ~/.bashrc; fi
après (ou avant) toute initialisation spécifique au login.
Sur mon Mac (sous Leopard), il n'y avait pas de ligne vers la source ~/.bashrc
. J'ai dû ajouter cette fonctionnalité de mon propre chef.
Sur certains systèmes et autres OS, .bashrc
provient du /etc/profile
ou du /etc/bash_profile
global, ou utilise les fichiers modèles de /etc/skel
.
Pour être honnête, la distinction entre .bashrc
et .bash_profile
n'est pas bien comprise par la communauté. Lorsque de nombreux développeurs disent “Ajoutez ceci à votre .bashrc”, ils veulent en fait dire “Ajoutez ceci à votre .bash_profil”. Ils veulent que la fonctionnalité soit ajoutée à votre shell login (qui est .bash_profile
), et non à votre shell non-login. En réalité, cela n'a généralement pas d'importance et il est acceptable de placer la configuration dans .bashrc
.
Il s'avère donc que sur Mac OS X Snow Leopard ainsi que sur 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 dont vous avez besoin pour charger avec chaque instance de bash là (Merci, lepurplepixel).
A couple of side notes:
-a
comme paramètre en tant que tel : ls -a
~
représente /Users/YourUserName
, où YourUserName est le nom court de votre nom d'utilisateur. Edit : Chris Page note (correctement) que tout ce que vous placez dans un fichier .profile s'appliquera à tout shell que vous utilisez (c'est-à-dire zhs, bash, etc.). Si vous voulez que le contenu n'affecte que le shell bash, placez le contenu dans un fichier .bash_profile
au lieu d'un fichier .profile
.
Je trouve que dans mon OS 10.6.5, les paramètres de bash sont dans “/etc/bashrc”. Je pense que ce sont les spécifications toplevel pour le shell.
Cependant, vous avez besoin d'un compte root pour le modifier. Les spécifications locales par utilisateur “~/.bashrc” devraient commencer par l'extrait suivant, pour lire et charger les paramètres de bash au niveau système :
if [-r /etc/bashrc]; then
. /etc/bashrc
fi
J'ajoute normalement des alias dans le bashrc au niveau système pour que tous les utilisateurs puissent y accéder également. Sauf s'ils ne veulent pas utiliser vos raccourcis et 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"