Perl的哈希相当于在bash? 请让我知道。
以下代码在korn shell中运行得很完美,但是在bash [3.2版本]中没有,在排版时出错。
#!/bin/ksh
typeset -A newmap
name="mandar"
id="111515"
newmap["name"]=$name
newmap["id"]=$id
echo "${newmap["id"]}"
Perl的哈希相当于在bash? 请让我知道。
以下代码在korn shell中运行得很完美,但是在bash [3.2版本]中没有,在排版时出错。
#!/bin/ksh
typeset -A newmap
name="mandar"
id="111515"
newmap["name"]=$name
newmap["id"]=$id
echo "${newmap["id"]}"
使用declare -A
而不是typeset -A
如果你使用bash 4或更高。我测试了它,并且它以这种方式正确工作。
或者你可以测试bash和创建别名,所以你可以未修改的(可能)运行脚本的其余部分:
alias typeset=declare
你的shell版本是什么? – 2012-03-06 13:56:54
@mandy:你是对的,我忘了说这是在Bash 4和更高版本上工作。我的Bash 4.2。 – 2012-03-06 13:59:21
以下代码是Korn shell程序可以正常使用,但不是在bash [3.2版本],排版出错。 '#!/ bin中/ KSH 排版-A newmap NAME = “mandar” ID = “111515” newmap [ “名称”] = $名称 newmap [ “ID”] = $ ID 回声“$ {newmap [“id”]}“' – 2012-03-06 13:43:26