场景:
$ cat t42.sh
source t42a.sh
bash t42b.sh
$ cat t42a.sh
export x="y"
$ cat t42b.sh
echo $x
$ bash t42.sh
y
我需要以某种方式在“干净的环境”中从
t42b.sh
运行t42.sh
,以便x
在t42b.sh
中不可用。
这有可能吗(没有
unset
/ export -n
)?如果是的话,怎么办?
您可以使用
env
从环境中删除变量:
env -u x bash t42b.sh