在Korn脚本中,我声明了一个数组,尝试向其中添加一个字符串:
#!/bin/ksh
array=()
array+=("string")在执行脚本( ksh scriptName或./scriptName)时,我得到
./scriptName[3]: syntax error: '"string"' unexpected我的KSH版本是@(#)MIRBSD KSH R39 2009/08/01。
为什么我会有这个错误?我看到了this similar question,但这似乎不是问题所在。
发布于 2018-10-07 15:06:48
看一下 shell and its history的一些文档,似乎R39上似乎不支持数组附加操作符,而只是从R40开始。
引用R40 changelog中的一些注释:
现在支持为变量和
(!MKSH_SMALL)数组附加的:..The、x+=y和x+=(y z)符号。mksh R40是一个主要的万用版本:[tg]添加+=连接标量并追加到数组中
不要认为它在R39上得到了支持。建议升级到R40,它似乎支持许多功能,而不是您所拥有的特性。
https://stackoverflow.com/questions/52689695
复制相似问题