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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。