Bash变量命名规则¶
shell变量名不可用 -
¶
偶然发现我之前撰写的文档中,设置一个bash变量,使用了 -
(减号):
mon-id="z-b-data-2"
我当时没有注意(可能也没有验证),今天重复操作步骤的时候提示报错:
-bash: mon-id=a-b-data-2: command not found
WHAT?
不就是简单的变量赋值么?
难道我的环境有问题(我一时还没有意识到之前的错误),所以,尝试 export
export mon-id="z-b-data-2"
提示错误:
-bash: export: `mon-id=z-b-data-2': not a valid identifier
过一会,我才意识到之前的变量命名问题…
我一般在shell中使用变量命名都使用下划线 _
连接单词,但是不知道那次为何会使用了减号 -
。一般也很少改变编程风格,所以倒是没有注意居然有这种报错: 也就是变量名中如果有减号 -
,BASH会把它解释为命令而不是变量!!!
shell变量命名规则¶
简单复习一下BASH的变量命名规则:
可以使用驼峰命名方法,例如
MonId
可以使用下划线
_
但不能使用减号-
,例如mod_id
可以混合数字,例如
mod_id_3
或者mod_id3