Bash 声明并测试变量,无需事先赋值

Bash 声明并测试变量,无需事先赋值,bash,shell,ubuntu,declare,Bash,Shell,Ubuntu,Declare,给定一个标准的bash环境,是否通常会显示以下行为 ~ $ declare testa ~ $ declare -p testa bash: declare: testa: not found 在撰写本文时,不同操作系统中不同bash的输出中的给定情况似乎有所不同(此处未显示) 此外,是否有任何明确的bash API手册、参考或其他文档涵盖了本案例?这被认为与 bash4.4 relase,条目“f.声明和类似的`-p'选项 内置将显示命名变量的属性,即使 变量未指定值(技术上为 取消设置。”

给定一个标准的bash环境,是否通常会显示以下行为

~ $ declare testa
~ $ declare -p testa
bash: declare: testa: not found
在撰写本文时,不同操作系统中不同bash的输出中的给定情况似乎有所不同(此处未显示)


此外,是否有任何明确的bash API手册、参考或其他文档涵盖了本案例?

这被认为与

bash4.4 relase,条目“f.声明和类似的`-p'选项 内置将显示命名变量的属性,即使 变量未指定值(技术上为 取消设置。”


你在期待什么?您可以尝试help命令:-help declare,-p选项,并列出它的作用或manbash以获取进一步的信息detail@grail:是的<代码>声明应该第一次遇到错误。它是
bash
builtin,当然我们正在讨论这个问题。所以这对双方来说都是出乎意料的;维护人员表示,上述行为是意外的,并且在生产中没有进一步的问题;我说过这种行为对我来说是可以观察到的,但我的测试机器目前似乎已经调整好,以提供相同的bash版本。我错过了man bash的什么吗?根据大纲,所有参数都是可选的。在另一种情况下,langs声明与后来的赋值是分开的,所以是的,我没有预料到观察到的结果。我遗漏了什么?这是否与条目“f.用于声明和类似内置项的“-p”选项相关?即使这些变量尚未赋值(技术上未设置),它们也会显示命名变量的属性?