关于bash:为单个命令取消设置环境变量

Unset an environment variable for a single command

在bash中,我们可以通过以下方式为单个命令设置环境变量:

1
FOO=bar somecommand

如果我们想为单个命令取消设置一个变量怎么办?


从技术上讲,它们不是环境变量,除非有人使用它们。但您至少可以将它们设置为空:

1
FOO= some command

如果将它们从环境中删除足够多,则可以使用env

1
env -u FOO somecommand


1
env -u FOO somecommand

这将从somecommand进程环境中删除环境变量FOO

取消设置多个变量:

1
env -u FOO -u FOO2 somecommand