BASH Wild-card:选择所有变量(不是内容)

yPh*_*hil 3 bash shell

我有一堆我要检查的变量,如果它们包含值"None",那么我想清空它们.

    var1=(check for some value, sometimes it returns "none")
    var2=(check for some value, sometimes it returns "none")
    var3=(check for some value, sometimes it returns "none")
    someBizzareName=(check for some value, sometimes it returns "none")

    if [[ "${var1}" == "None" ]] ; then
        var1=""
    fi
    if [[ "${var2}" == "None" ]] ; then
        var2=""
    fi
Run Code Online (Sandbox Code Playgroud)

这是所有工作的罚款和花花公子,只是因为我有很多 VARN的,我将结束与一吨的if [[ "${varN}" == "None" ]] 我都知道他们的名字; 所以我想知道,因为它在BASH非常本质上搜索和匹配所有内容,如果有变量的通配符,在for循环中,将匹配所有变量,类似的东西${*}(我试过,不起作用) ?我已经完成了各种搜索,但总能找到匹配变量内容的东西,而不是var本身..?

Ign*_*ams 6

全部,没有.但是你可以匹配一个模式(但不是*).

$ echo "${!B*}"
BASH BASHOPTS BASHPID BASH_ALIASES BASH_ARGC BASH_ARGV BASH_CMDS BASH_COMMAND BASH_LINENO BASH_SOURCE BASH_SUBSHELL BASH_VERSINFO BASH_VERSION
Run Code Online (Sandbox Code Playgroud)