Array+=("string") returns syntax error: '"string"' unexpected on mksh R39
Array+=("string") returns syntax error: '"string"' unexpected on mksh R39
在 Korn shell 脚本中,我声明了一个数组,并尝试向其添加字符串:
#!/bin/ksh
array=()
array+=("string")
执行脚本时(ksh scriptName
或 ./scriptName
)我得到
./scriptName[3]: syntax error: '"string"' unexpected
我的 KSH 版本是 @(#)MIRBSD KSH R39 2009/08/01
。
为什么会出现此错误?我看到 this similar question 但这似乎不是问题所在。
查看有关 mksh
shell and its history 的一些文档,似乎 R39
似乎支持数组追加运算符 not,但仅来自 R40
以后
引用 R40
变更日志中的一些注释:
R40
:..The x+=y
and x+=(y z)
notations for appending to variables and (!MKSH_SMALL)
arrays are now supported.
mksh R40
is a major everything release:
[tg]
Add +=
to concatenate scalars and append to arrays
认为 R39
不支持它。建议升级到 R40
,它似乎支持比您拥有的功能多得多的功能。
在 Korn shell 脚本中,我声明了一个数组,并尝试向其添加字符串:
#!/bin/ksh
array=()
array+=("string")
执行脚本时(ksh scriptName
或 ./scriptName
)我得到
./scriptName[3]: syntax error: '"string"' unexpected
我的 KSH 版本是 @(#)MIRBSD KSH R39 2009/08/01
。
为什么会出现此错误?我看到 this similar question 但这似乎不是问题所在。
查看有关 mksh
shell and its history 的一些文档,似乎 R39
似乎支持数组追加运算符 not,但仅来自 R40
以后
引用 R40
变更日志中的一些注释:
R40
:..Thex+=y
andx+=(y z)
notations for appending to variables and(!MKSH_SMALL)
arrays are now supported.
mksh R40
is a major everything release:
[tg]
Add+=
to concatenate scalars and append to arrays
认为 R39
不支持它。建议升级到 R40
,它似乎支持比您拥有的功能多得多的功能。