如何取消很多环境变量

时间:2015-08-22 19:58:02

标签: linux unset

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

unset HTTP_PROXY
unset HTTPS_PROXY
unset FTP_PROXY
unset ALL_PROXY
unset NO_PROXY

3 个答案:

答案 0 :(得分:18)

unset需要多个变量:

unset HTTP_PROXY HTTPS_PROXY FTP_PROXY ALL_PROXY NO_PROXY

答案 1 :(得分:3)

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

  1. 列出您的变量。例如,根据您的范围,您可以使用envcompgen -v
  2. 过滤所需的变量。例如,使用grepsed
  3. 将变量传递到unset

例如,您的情况可以是:

unset $(compgen -v | grep "_PROXY$")

这不完全是一个命令,但它会按照您在注释中的要求模仿unset *_PROXY

答案 2 :(得分:3)

使用babashka

bb -o '(->> (System/getenv)
            keys
            (filter #(str/ends-with? % "_PROXY"))
            (map #(str "unset " %)))' | 
  source /dev/stdin