Mac OS X .bashrc not working
I have a one-line .bashrc
file in my home directory:
alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'
But it is not creating the alias. Why might that be?
Solution 1:
In OSX, .bash_profile
is used instead of .bashrc
.
And yes, the .bash_profile
file should be located in /Users/YourName/
(In other words, ~/.bash_profile
)
For example, /Users/Aaron/.bash_profile
Solution 2:
.[bash_]profile
and .bashrc
can be used on both OS X and Linux. The former is loaded when the shell is a login shell; the latter when it is not. The real difference is that Linux runs a login shell when the user logs into a graphical session, and then, when you open a terminal application, those shells are non-login shells; whereas OS X does not run a shell upon graphical login, and when you run a shell from Terminal.app, that is a login shell.
If you want your aliases to work in both login and non-login shells (and you usually do), you should put them in .bashrc and source .bashrc in your .bash_profile, with a line like this:
[ -r ~/.bashrc ] && source ~/.bashrc
This applies to any system using bash.
Solution 3:
Or create a sym link called .bash_profile pointed at your .bashrc
ln -s .bashrc .bash_profile