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?
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
.[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.
Ou créez un lien sym appelé .bash_profile pointé sur votre .bashrc
ln -s .bashrc .bash_profile
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
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.