Ubuntu – Shouldnt .bashrc run every time I log in

aliasbashrclsssh

Newish to Ubuntu so forgive if I word things oddly…
All I really want to do is have my ls command changed to ls --color=always -ragX

Got that solved… Alias will do nicely. Now, to have that run every time I log in (SSH in from Putty to the Command line)
I created .bashrc in my home directory and entered

alias ls='ls --color=always -ragX'

saved, exited, and came back in

typed vi

looks like the .bashrc file is not running? NOW what?

Best Answer

See https://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files

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.

Note, no mention of ~/.bashrc above.

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.

Check your terminal application's preferences to see if it launches a login shell or not.

Alternately, you can add this to your ~/.bash_profile

[[ -f ~/.bashrc ]] && . ~/.bashrc
Related Question