A user keeps personal scripts in ~/bin. One of them is called grep, and the user wants their own version to be found before /usr/bin/grep, while every other command in the standard directories stays findable by name. Which line, added to a shell startup file, achieves that?

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

Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.

Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.

How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.

The options

Correct export PATH="$HOME/bin:$PATH"

Correct. The search path is scanned left to right and the first match wins, so putting $HOME/bin ahead of the previous value makes the personal script shadow /usr/bin/grep.

Not correct export PATH="$PATH:$HOME/bin"

Wrong for this goal. This appends the directory, so /usr/bin is still reached first and the system grep continues to win. It is the safer form in general, but it does not do what was asked.

Not correct export PATH="$HOME/bin"

Wrong, and it breaks the shell. This replaces the entire search path, so ls, grep and every other command in /usr/bin become unfindable by name.

Not correct set PATH=$HOME/bin:$PATH

Wrong. That is C shell syntax. In bash, set with arguments assigns the positional parameters, so this leaves PATH untouched and merely sets $1 to the literal string.

Why

PATH is a colon-separated list searched in order, and the shell executes the first executable it finds, which is why position rather than membership decides who wins. Referring to $PATH inside the new value is what preserves the directories inherited from /etc/profile and the login process; omitting it discards them. Prepending a user-writable directory is deliberately shadowing system commands, so most sites append instead.

Where this comes from

Cited
manual page bash(1)

Practise this

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

Practise LPIC-1 Exam 102-500

More questions on this objective

All questions on Shells and shell scripting

Practise LPIC-1 Exam 102-500