【发布时间】: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' 选项和类似的内置函数将显示命名变量的属性,即使这些变量没有被赋值(技术上未设置)。”?