You are already logged in to a graphical desktop and open a new terminal window, so bash starts as an interactive shell that is not a login shell. Which per-user file does bash read in that case?

LPIC-1 Exam 102-500, objective 105. Shells and shell scripting medium

Draft — not checked yet. This question was written from the published exam objectives and cites the clause it comes from, but nobody has yet read it against that clause and signed for it.

It is kept out of search results and out of mock exams until they have. Read the source below before you take the answer as settled.

The options

Correct ~/.bashrc

Correct. An interactive shell that is not a login shell reads ~/.bashrc. That is why aliases and prompt settings belong there rather than in ~/.bash_profile.

Not correct ~/.bash_profile

Wrong. ~/.bash_profile is read only by login shells. Aliases defined there will be missing in ordinary terminal windows unless it sources ~/.bashrc.

Not correct ~/.profile

Wrong for bash here. ~/.profile is a login-shell file, read by bash only if neither ~/.bash_profile nor ~/.bash_login exists. It is also the file /bin/sh login shells use.

Not correct ~/.inputrc

Wrong. ~/.inputrc is a real file, but it configures the readline library, meaning key bindings and completion behaviour, not shell variables, aliases or functions.

Why

The usual convention is: environment variables and one-time login work in ~/.bash_profile, and interactive conveniences such as aliases, functions and the prompt in ~/.bashrc. Because a login shell does not read ~/.bashrc on its own, most ~/.bash_profile files contain a line like `[ -f ~/.bashrc ] && . ~/.bashrc` so that both kinds of shell end up configured the same way.

Where this comes from

Cited
LPI exam objective 105.1
What it says
Customize the shell environment for interactive and login shells.

Practise this

Reading one question is not practice. The trainer will draw a set from objective 105 and space the ones you get wrong.

Practise LPIC-1 Exam 102-500