如何取消设置很多环境变量
How unset a lot of environment variables
有什么方法可以使用一条命令取消设置不同的变量吗?
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 *_PROXY
,正如您在评论中所要求的那样。
使用babashka:
bb -o '(->> (System/getenv)
keys
(filter #(str/ends-with? % "_PROXY"))
(map #(str "unset " %)))' |
source /dev/stdin
有什么方法可以使用一条命令取消设置不同的变量吗?
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 *_PROXY
,正如您在评论中所要求的那样。
使用babashka:
bb -o '(->> (System/getenv)
keys
(filter #(str/ends-with? % "_PROXY"))
(map #(str "unset " %)))' |
source /dev/stdin