Men*_*hem 4 bash declare undocumented-behavior
我在玩 Bash 变量并错误地使用-c选项 (for const)declare而不是-r创建readonly变量的正确选项。令我惊讶的是,该变量保留了-c属性并将我分配的任何值的第一个字母大写。
此行为未在declare的用法中列出,无论是在declare --help输出中还是在 Bash 的信息页面上。它似乎与 ksh 不兼容typeset,尽管-u和-l选项是兼容的。
这是一个众所周知的未记录功能吗?是否普遍可用?
declare -c, -l, 和-u似乎已在 bash 4.0(在 4.0-rc1 中引入)中一起添加,只要--enable-casemod-attributes未禁用配置标志(默认情况下启用)。有针对他们的测试(在tests/casemod.tests)。为什么-c从未被记录下来是个谜。