什么是ksh88的相应代码?

时间:2013-08-14 15:38:42

标签: ksh

这适用于ksh93,如何为ksh88制作类似的代码?

$ typeset -A age
$ age["bob"]=42
$ age["alice"]=31
$ print ${age[bob]}
42

2 个答案:

答案 0 :(得分:1)

简答:你不能,ksh88不做关联数组。

更长的答案:这取决于你想要做什么。以下解决方法应该有效,但可能不适合您的方案:

integer bob=0
integer alice=1
age[bob]=42
age[alice]=31

你可以破解那些没有实现assoc的shell。数组(例如,使用eval)但它永远不会漂亮或快速。

答案 1 :(得分:1)

实际上,ksh88不支持关联数组。

使用ksh88作为awk脚本的包装:

awk 'BEGIN {
  age["bob"]=42
  age["alice"]=31
  print age["bob"]
}'
42

仍然托管ksh88且没有ksh93的系统可能有其他支持映射的语言。