web-dev-qa-db-fra.com

Mac OS X .bashrc ne fonctionne pas

J'ai un fichier .bashrc d'une ligne dans mon répertoire personnel:

alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'

Mais ce n'est pas créer l'alias. Pourquoi cela pourrait-il être?

70
William Jockusch

Dans OSX, .bash_profile est utilisé à la place de .bashrc.

Et oui, le fichier .bash_profile devrait se trouver dans /Users/YourName/
(En d'autres termes, ~/.bash_profile)

Par exemple, /Users/Aaron/.bash_profile

88
Azz

.[bash_]profile et .bashrc peuvent être utilisés sous OS X et Linux. Le premier est chargé lorsque le shell est un shell de connexion; le dernier quand ce n'est pas. La vraie différence est que Linux exécute un shell de connexion lorsque l'utilisateur se connecte à une session graphique, puis, lorsque vous ouvrez une application de terminal, ces shells sont des shells autres que de connexion. alors que OS X n'exécute pas de shell lors de la connexion graphique, et lorsque vous exécutez un shell à partir de Terminal.app, il s'agit d'un shell de connexion.

Si vous voulez que vos alias fonctionnent à la fois dans les shells login et non-login (comme vous le faites habituellement), vous devez les mettre dans le source .bashrc et . bashrc dans votre .bash_profile, avec une ligne comme celle-ci:

[ -r ~/.bashrc ] && source ~/.bashrc

Ceci s’applique à tout système utilisant bash.

80
LaC

Ou créez un lien sym appelé .bash_profile pointé sur votre .bashrc

ln -s .bashrc .bash_profile
7
Barrett

Il n’est pas aliasé car .bash_profile est utilisé à la place de .bashrc sous Mac OS X.

Donc, vous avez deux options:

  • Mettez l'alias dans votre ~/.bash_profile

  • Ou sourcez votre .bashrc à partir de votre .bash_profile en ajoutant cette ligne au .bash_profile:

    . ~/.bashrc

2
Wuffers

Sous Mac OS X Yosemite , exécutez la commande suivante:

vi ~/.profile

Ajoutez ensuite la ligne suivante:

source ~/.bashrc

Maintenant, sauvegardez et fermez .profile, puis ouvrez une nouvelle fenêtre de terminal ou lancez simplement:

source ~/.profile

Voir aussi cette réponse . Cela a fonctionné sur v10.10.3.

1
Ricardo