Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
514 views
in Technique[技术] by (71.8m points)

macos - How to make OS X to read .bash_profile not .profile file

I have read so many suggestions about, not putting your customization aka commands in ".profile" file. Rather, create a .bash_profile for yourself and add your alias and etc.

But,when I open the new terminal, if there is only .bash_profile, OS X is not exporting/sourcing the commands mentioned in it. I have to manually source the .bash_profile.

If I create .profile file, on opening a new terminal, all my commands in .profile are executed and will be available readily.

Could you please help me in understanding, how does it works? Also, when to use .bashrc/.profile/.bash_profile files.

Thanks!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

According to the manual page that ships with OS X:

... it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.

It should only read ~/.profile as a last resort if neither ~/.bash_profile nor ~/.bash_login are readable.

On all of my OS X systems, I have my ~/.bash_profile set to:

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

It is highly recommended that you do this on OS X in order to get bash to read your ~/.bashrc file like you would expect.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...