Earlier in this session you ran `export EDITOR=vim`. You now want commands started from this shell to stop receiving EDITOR, while the shell itself keeps using the value in its own expansions. Which command does that?

LPIC-1 Exam 101-500, objective 103. GNU and Unix commands hard

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 -n EDITOR

Correct. -n removes the export attribute. EDITOR survives as an ordinary shell variable, so $EDITOR still expands, but it is no longer placed in the environment of child processes.

Not correct unset EDITOR

Wrong. unset deletes the variable outright, so the shell's own expansion of $EDITOR becomes empty as well. That is more than was asked.

Not correct export EDITOR=

Wrong. This keeps EDITOR exported and merely gives it an empty value, so children still receive EDITOR — set to nothing, which many programs treat differently from unset.

Not correct env -u EDITOR

Wrong in scope. env -u removes a variable from the environment it passes to a command it runs, and with no command it just prints that environment. The shell's own export attribute is untouched.

Why

A bash variable has a value and, separately, an export attribute. export sets that attribute, export -n clears it, and unset destroys the variable and the attribute together. `export -p` (or `declare -x`) lists the variables that currently carry the attribute, which is the way to confirm the change.

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 103 and space the ones you get wrong.

Practise LPIC-1 Exam 101-500

More questions on this objective

All questions on GNU and Unix commands

Practise LPIC-1 Exam 101-500