在Korn Shell脚本中,我声明一个试图在其中添加字符串的数组:
StateT
执行脚本(deriving newtype instance MonadFree f p => MonadFree f (ApplicationStack s r p)
或ListRows = []
for row in range(2, sheet.max_row):
bla=str(row)
rows1 = []
rows1.append(sheet['A' + bla].value)
rows1.append(sheet['B' + bla].value)
rows1.append(sheet['C' + bla].value)
rows1.append(sheet['D' + bla].value)
rows1.append(sheet['E' + bla].value)
rows1.append(sheet['F' + bla].value)
rows1.append(sheet['G' + bla].value)
rows1.append(sheet['H' + bla].value)
ListRows.append(rows1)
)时,我得到
#!/bin/ksh
array=()
array+=("string")
我拥有的KSH版本为ksh scriptName
。
为什么会出现此错误?我看到了this similar question,但这似乎不是问题。
答案 0 :(得分:2)
查看mksh
shell and its history的一些文档,似乎R39
上似乎不支持数组append操作符,但R40
之后才支持<< / p>
引用R40
更改日志中的一些注释:
R40
:..现在支持用于附加到变量和x+=y
数组的x+=(y z)
和(!MKSH_SMALL)
表示法。
mksh R40
是主要的所有版本:
[tg]
添加+=
来连接标量并追加到数组
不认为R39
支持该功能。建议升级到R40
,该功能似乎比您所拥有的功能更多。