如何取消很多环境变量

Bru*_*ego 12 linux unset

有没有办法使用一个命令取消设置不同的变量?

unset HTTP_PROXY
unset HTTPS_PROXY
unset FTP_PROXY
unset ALL_PROXY
unset NO_PROXY
Run Code Online (Sandbox Code Playgroud)

tha*_*guy 21

unset 需要多个变量:

unset HTTP_PROXY HTTPS_PROXY FTP_PROXY ALL_PROXY NO_PROXY
Run Code Online (Sandbox Code Playgroud)

  • 这应该是唯一的方法。谢谢! (2认同)
  • 这将它们全部作为单个参数传递。您需要每个变量作为单独的参数,例如不引用它,或者最好首先使用数组 (2认同)

Ant*_*nov 8

有点晚了,但无论如何。根据您的变量模式,您可以缩短您的未设置:

  1. 列出你的变量。例如,根据您的范围,您可以使用env或 来完成compgen -v
  2. 过滤所需的变量。例如使用grepsed
  3. 将变量传递给unset.

例如,在您的情况下,它可以是:

unset $(compgen -v | grep "_PROXY$")
Run Code Online (Sandbox Code Playgroud)

它不完全是一个命令,但它模仿unset *_PROXY了您在评论中的要求。