【发布时间】:2015-03-22 19:01:43
【问题描述】:
Bash 中标识符的语法规则,尤其是函数名和变量名?
我编写了一个 Bash 脚本,并在 Ubuntu、Debian、Red Hat 5 和 6,甚至是旧的 Solaris 8 机器上的各种 Bash 版本上对其进行了测试。该脚本运行良好,因此已发布。
然而,当用户在 SUSE 机器上尝试它时,它给出了“不是有效的标识符”错误。幸运的是,我对函数名中存在无效字符的猜测是正确的。连字符搞砸了。
至少经过一定程度测试的脚本在另一个 Bash 或发行版上会有完全不同的行为,这一事实令人不安。我怎样才能避免这种情况?
【问题讨论】:
-
这些机器上的 bash 版本是什么? (特别是 SUSE 机器?)
-
不幸的是,我现在无法轻松访问它们。他们是 3.something.