Linux 如何取消设置大量环境变量

Linux 如何取消设置大量环境变量,linux,unset,Linux,Unset,有没有办法用一个命令取消设置不同的变量 unset HTTP_PROXY unset HTTPS_PROXY unset FTP_PROXY unset ALL_PROXY unset NO_PROXY unset接受多个变量: unset HTTP_PROXY HTTPS_PROXY FTP_PROXY ALL_PROXY NO_PROXY 有点晚了,但无论如何。根据您的可变模式,您可以缩短未设置的时间: 列出你的变量。例如,根据您的范围,您可以使用env或compgen-v执行此操作 筛

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

unset HTTP_PROXY
unset HTTPS_PROXY
unset FTP_PROXY
unset ALL_PROXY
unset NO_PROXY

unset
接受多个变量:

unset HTTP_PROXY HTTPS_PROXY FTP_PROXY ALL_PROXY NO_PROXY

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

  • 列出你的变量。例如,根据您的范围,您可以使用
    env
    compgen-v
    执行此操作
  • 筛选所需的变量。例如,使用
    grep
    sed
  • 将变量传递到
    unset
  • 例如,在您的情况下,它可以是:

    unset$(compgen-v | grep“_PROXY$”)
    
    这不完全是一个命令,但它模仿了您在评论中要求的
    unset*\u PROXY

    使用:

    bb-o'(->)(系统/getenv)
    钥匙
    (过滤器#(str/以?%“_PROXY”结尾)
    (map#(str“unset”%”)|
    source/dev/stdin
    
    您能提供更多关于您正在尝试做什么以及您正在使用什么Linux操作系统的内容吗?是的@JosephIdziorek,我希望使用像unset*\u PROXY这样的命令,但unset不接受通配符。这应该是唯一的方法。谢谢出于某种原因,如果要取消设置的变量存储在变量本身中,则此操作不起作用,例如,
    unset“$unset\u VARS”
    不起作用。它将所有变量作为单个参数传递。您需要将每个变量作为单独的参数,例如,不引用它,或者最好首先使用数组