7

我有一个简单的 shell 脚本,我在其中尝试将值分配给关联数组,其中键值具有一个或多个“。” 其值中的字符。

#!/bin/bash

X="my.key"
Y="my.val"

ARRAY[$X]=$Y

当我运行它时,我收到以下错误消息。my.key:语法错误:算术运算符无效(错误标记为“.key”)

如何强制 bash 不将我的键视为浮点值?

提前致谢!

4

1 回答 1

6

在 bash 4.x 中,为了向后兼容 3.x 和更早版本(基本上,您可以在数组索引中使用裸字符串,它们将自动被视为变量引用),关联数组默认情况下不启用。关联数组必须在使用之前显式声明以覆盖它:

declare -A arrayname

此外,在所有大写字母中命名脚本局部变量被认为是不好的风格。所有大写字母通常表示环境变量。

于 2013-05-01T22:02:55.553 回答