Ale*_*lls 6 shell bash environment-variables variable
我正在寻找一种方法来回显以 nlu_setting 开头的所有环境变量的名称和值,因此输出可能如下所示:
nlu_setting_json=true
nlu_setting_global=0
nlu_setting_bar=foo
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?
for var in "${!nlu_setting_@}"; do
printf '%s=%s\n' "$var" "${!var}"
done
Run Code Online (Sandbox Code Playgroud)
扩展${!nlu_setting_@}是一个bash特定的扩展,它返回与特定前缀匹配的变量名称列表。这里我们用它来询问所有以字符串开头的名字nlu_setting_。我们遍历这些名称并将名称与该变量的值一起输出。
我们使用变量间接(${!var})获取变量的值。