When I am running Cygwin.bat
I\'ve got my all my custom stuff working from .bash_profile
but when I am just running bash
none of my stuff
As pointed out by @matzeri in the comment, cygwin.bat
invokes bash
with the --login
option which creates an interactive login shell. And bash
without the --login
option creates an interactive shell which is not a login shell.
According to bash man page:
When bash is invoked as an interactive login shell, or as a non-interactive shell with the
--login
option, it first reads and executes commands from the file/etc/profile
, if that file exists. After reading that file, 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.When an interactive shell that is not a login shell is started, bash reads and executes commands from
~/.bashrc
, if that file exists. This may be inhibited by using the--norc
option. The--rcfile
file option will force bash to read and execute commands from file instead of~/.bashrc
.
My ~/.bash_profile
has only one line:
source ~/.bashrc
and I put all conf in ~/.bashrc
.