【问题标题】:Declare and test variable without prior value assignement在没有事先赋值的情况下声明和设置变量
【发布时间】:2018-04-05 06:15:41
【问题描述】:

给定一个标准的 bash 环境,以下行为是否普遍预期?

~ $ declare testa
~ $ declare -p testa
bash: declare: testa: not found

在撰写本文时,不同操作系统中不同 bash 的输出在给定情况下似乎存在差异(此处未显示)。

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

【问题讨论】:

  • 您期待什么?您可以尝试使用帮助命令:- 帮助声明、-p 选项以及它的作用已列出或 man bash 以获取更多详细信息
  • @grail:令人惊讶的是! declare 应该第一次遇到错误。肯定是bash 内置
  • 我们正在yarn-completion 讨论这个问题。所以这对双方来说都是出乎意料的。维护者说上面的行为是出乎意料的,并且已经在生产中,没有进一步的问题;我说这种行为对我来说是可观察到的,但我的测试机器目前似乎已对齐以提供相同的 bash 版本。我错过了 man bash 的一些东西吗?根据概要,所有参数都是可选的。在其他语言中,声明与以后的值分配是分开的,所以是的,我没想到观察到的结果。我错过了什么?
  • 这是否与bash 4.4 relase, 条目 "f 相关。声明的 `-p' 选项和类似的内置函数将显示命名变量的属性,即使这些变量没有被赋值(技术上未设置)。”?

标签: bash shell ubuntu declare


【解决方案1】:

这被认为与

有关

bash 4.4 版本,Entry "f. `-p' 选项声明和类似 内置函数将显示命名变量的属性,即使那些 变量没有被赋值(这在技术上是 未设置)。”

【讨论】:

    猜你喜欢
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2021-10-27
    • 2023-03-13
    • 2021-11-30
    • 1970-01-01
    相关资源
    最近更新 更多