2010-05-30 21:03:42 +0000 2010-05-30 21:03:42 +0000
90
90

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 ?

Réponses (5)

79
79
79
2010-06-01 17:26:31 +0000

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.

61
61
61
2011-12-20 23:51:49 +0000

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:

  1. Le point devant le fichier le marque comme étant invisible pour le Finder et la commande ls par défaut. Pour lister les fichiers invisibles à l'aide de la commande ls du Terminal, utilisez le -a comme paramètre en tant que tel : ls -a
  2. Le symbole ~ 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.

4
4
4
2010-05-30 21:05:13 +0000

Vous devez faire votre propre .bashrc. Vous pouvez simplement utiliser un éditeur de texte pour créer un fichier appelé .bashrc (sans extension) avec le contenu que vous souhaitez et le sauvegarder dans votre répertoire d'origine (/Users/YourUserName/).

3
3
3
2010-11-26 08:02:07 +0000

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 !

1
1
1
2010-06-01 18:18:27 +0000

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"