如何取消设置 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
开头的所有变量(无论这些变量是否为环境变量)。
我在虚拟机的环境变量中设置了一长串参数,例如
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
开头的所有变量(无论这些变量是否为环境变量)。