Shouldnt .bashrc run every time I log in?

11,170

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
Share:
11,170

Related videos on Youtube

Everseeker
Author by

Everseeker

Updated on September 18, 2022

Comments

  • Everseeker
    Everseeker almost 2 years

    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?

    • muru
      muru over 9 years
      You created a .bashrc file? What happened to the default one? Or did you create it elsewhere?
  • muru
    muru over 9 years
    IIRC the default .profile in Ubuntu sources .bashrc.
  • CoderGuy123
    CoderGuy123 almost 7 years
    I ssh in and none of these files seem to be run. However, when I invoke bash after ssh'ing in, it does load the files correctly. Can't figure out what the problem is.
  • fiatux
    fiatux almost 7 years
    What's your login shell in /etc/passwd?
  • jdhao
    jdhao over 4 years
    This is not true.