bash脚本中的Perl哈希等效? [复制]

Posted

技术标签:

【中文标题】bash脚本中的Perl哈希等效? [复制]【英文标题】:Perl hash equivalent in bash scripting? [duplicate] 【发布时间】:2012-03-23 23:13:29 【问题描述】:

可能重复:How to define hash tables in bash?

bash 中的 Perl 哈希等价物? 请告诉我。

以下代码在 korn shell 中完美运行,但在 bash [3.2 版本] 中无法正常运行,排版出错。

#!/bin/ksh 
typeset -A newmap 
name="mandar"
id="111515" 
newmap["name"]=$name
newmap["id"]=$id 
echo "$newmap["id"]"

【问题讨论】:

以下代码在 korn shell 中运行良好,但在 bash [3.2 版本] 中无法正常运行,排版出错。 #!/bin/ksh typeset -A newmap name="mandar" id="111515" newmap["name"]=$name newmap["id"]=$id echo "$newmap["id"]" 【参考方案1】:

如果您正在运行 Bash 4 或更高版本,请使用 declare -A 而不是 typeset -A。我对其进行了测试,它可以正常工作。

或者,您可以测试 bash 并创建一个别名,以便您可以在未修改的情况下运行脚本的其余部分(可能):

alias typeset=declare

【讨论】:

@mandy:你说得对,我忘了说这适用于 Bash 4 及更高版本。我的重击 4.2。

以上是关于bash脚本中的Perl哈希等效? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

python中的GNU拆分等效于啥? [复制]

如何在不运行Bash脚本的情况下语法检查?

Perl 的 require 命令的 java 等效项是啥? [关闭]

[perl] perl 中二维哈希hash 与python 二维字典dict

如何检查 Perl 的哈希中是不是存在密钥? [复制]

如何在 bash shell 脚本中的 perl 命令调用中使用 shell 变量?