Why do I have to keep using `source ~/.profile` to get settings in place?

bash, macos, terminal

Solution

                     +-----------------+
                     |                 |
interactive shell -->|  ~/.bashrc      |
                     |                 |
                     +-----------------+

`interactive shell` will source `~/.bashrc` automatically.

Take a look at Should the .bashrc in the home directory load automatically?

Problem

I have a couple of bash scripts that I want to make sure runs by default and I'm currently storing them in `~/.profile` on my mac. Is that the wrong place to be storing them? I've heard of others and tried them (like `~/.bashrc`, `~/.bash_profile`, etc), but they don't seem to be working. What is the difference between all of these and which one do I put the scripts in so that it configures on runtime and I don't have to call `$ source ~/.profile` every time I open the terminal?

Original source

Related problems