linux – Bash中有效标识符(例如函数,vars等)的规则是什么?

前端之家收集整理的这篇文章主要介绍了linux – Bash中有效标识符(例如函数,vars等)的规则是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Bash中的标识符,特别是函数和变量名称的语法规则是什么?

我写了一个Bash脚本,并在Ubuntu,Debian,Red Hat 5和6上的各种版本的Bash上进行了测试,甚至是一个旧的Solaris 8框.脚本运行良好,因此它运行.

然而,当用户在SUSE机器上尝试使用它时,它给出了“不是有效的标识符”错误.幸运的是,我猜这个函数名中有一个无效的字符是对的.连字符弄乱了它.

至少有一些测试的脚本在另一个Bash或发行版上会有完全不同的行为,这是令人不安的.我该如何避免这种情况?

解决方法

Shell Function Definitions
       ...
       name () compound-command [redirection]
       function name [()] compound-command [redirection]

名称在别处定义:

name   A  word  consisting  only  of alphanumeric characters and under‐
              scores,and beginning with an alphabetic character or an  under‐
              score.  Also referred to as an identifier.

所以连字符无效.然而,在我的系统上,他们做的工作…

$bash --version
GNU bash,version 4.2.25(1)-release (x86_64-pc-linux-gnu)

猜你在找的Linux相关文章