How can the existing environment variable FOOBAR be suppressed for the execution of the script ./myscript only?



A.

unset -v FOOBAR;./myscript

B.

set -a FOOBAR="";./myscript

C.

env -u FOOBAR ./myscript

D.

env -i FOOBAR ./myscript

題解

「unset」指令用來取消變數。「set」指令可以用來設定或是查看目前shell的設定值,也能查看所有變數的值。「env」指令可以使用修改過的環境變數來執行程式。

選項A,「unset」指令的「-v」參數可以刪除變數,但題目要求只有在執行「./myscript」的時候把變數移除掉,所以這不是正確答案。

選項B,「set」指令不能這樣用。

選項C,「env」指令的「-u」參數代表「unset」,用來取消變數,因此這個是正確答案。

選項D,「env」指令的「-i」用來忽略變數,讓變數內容變成空的。