arrays - 分配带有嵌入句点的关联数组键时出错

标签 arrays variable-assignment associative

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

#!/bin/bash

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

ARRAY[$X]=$Y

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

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

提前致谢!

最佳答案

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

declare -A arrayname

此外,以全部大写形式命名脚本局部变量被认为是不好的风格。全部大写通常表示环境变量。

关于arrays - 分配带有嵌入句点的关联数组键时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16327124/

相关文章:

C# 使用 Microsoft.Office.Interop.Excel 读取数据

arrays - 合并 PostgreSQL 中的两个数组作为索引和值?

php - 使用 PHP 将一张 mysqli 表转换为 JSON 格式

c - 警告 : assignment from incompatible pointer type [enabled by default]

arrays - 如何将关联数组作为参数传递给 Bash 中的函数?

arrays - 如何按升序排列一个字典数组,然后对其他数组重新排序?

python - 这个作业中的逗号是做什么的?

javascript - 具有重名的 JS 关联对象

arrays - d 中的动态关联数组

javascript - 分配变量的条件与内联条件检查