如何取消设置 Bash 中以特定前缀开头的所有变量?

How do I unset all variables which start with a certain prefix in Bash?

我在虚拟机的环境变量中设置了一长串参数,例如

MYCONFIG_1=config1
MYCONFIG_2=list2
MYCONFIG_3=random3
MYCONFIG_4=somethingelse4
MYCONFIG_5=thanksforyourhelp5

我想一次取消所有这些设置,而不是单独指定它们(因为它们会随着时间的推移而改变)。这可能吗?

我见过单独做的方法,例如 unset MYCONFIG_1 将成功删除 MYCONFIG_1

有没有办法引用前缀 MYCONFIG 以删除所有以此开头的变量?例如。类似于:

unset MYCONFIG_*

我看到的大部分内容都是引用值,而不是名称。

非常感谢。

假设您的 shell 是 bash

,您可以在一条命令中完成
unset ${!MYCONFIG*}

请注意,这将取消设置以 MYCONFIG 开头的所有变量(无论这些变量是否为环境变量)。