Thanks a lot @Will Mengarini <sel...@eskimo.com>

On Wed, Jan 12, 2022 at 8:21 PM Will Mengarini <sel...@eskimo.com> wrote:

> * Yamada??? <yamoer...@gmail.com> [22-01/12=We 20:10 +0800]:
> > Do you mean if .bash_profile exists, .bashrc will be ignored?
>
> Sometimes.  From `man bash`:
>   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.
>   [...]
>   When an interactive shell that is not a login shell
>   is started, bash reads and executes commands from
>   /etc/bash.bashrc and ~/.bashrc, if these files exist.
>
> * Yamada??? <yamoer...@gmail.com> [22-01/12=We 19:49 +0800]:
> >>> I have a .bashrc file in my home dir, whose content is shown as
> follows.
> >>> But every time I log into the system, I have to source this file by
> hand.
> >>>
> >>> $ which scala
> >>> /usr/bin/scala
> >>>
> >>> $ cat .bashrc
> >>> #THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
> >>> export SDKMAN_DIR="$HOME/.sdkman"
> >>> [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source \
> >>>   "$HOME/.sdkman/bin/sdkman-init.sh"
> >>>
> >>> $ . .bashrc
> >>> $ which scala
> >>> /home/xxx/.sdkman/candidates/scala/current/bin/scala
> >>>
> >>> How can I make it take effect automatically after I login the system?
>
> On Wed, Jan 12, 2022 at 8:07 PM Will Mengarini <sel...@eskimo.com> wrote:
> >>
> >> Check whether you have either ~/.bash_profile or ~/.profile.
> >>
> >> If ~/.bash_profile, the line
> >>   . ~/.bashrc
> >> will suffice.
> >>
> >> If ~/.profile, use
> >>   # if running bash
> >>   if [ -n "$BASH_VERSION" ]; then
> >>       # include .bashrc if it exists
> >>       if [ -f ~/.bashrc ]; then
> >>           . ~/.bashrc
> >>       fi
> >>   fi
> >> in case you someday want to try other shells.
>

Reply via email to