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」用來忽略變數,讓變數內容變成空的。