Rog*_*ler 5 arrays associative variable-assignment
我有一个简单的Shell脚本,其中我试图为键值具有一个或多个“”的关联数组分配值。其值中的字符。
#!/bin/bash
X="my.key"
Y="my.val"
ARRAY[$X]=$Y
Run Code Online (Sandbox Code Playgroud)
运行此命令时,出现以下错误消息。my.key:语法错误:无效的算术运算符(错误标记为“ .key”)
如何强制bash不能将我的密钥视为浮点值?
提前致谢!
在 bash 4.x 中,默认情况下不启用关联数组,以便向后兼容 3.x 及更早版本(基本上,您可以在数组索引中使用裸字符串,它们将自动被视为变量引用)。关联数组在使用之前必须显式声明以覆盖它:
declare -A arrayname
Run Code Online (Sandbox Code Playgroud)
此外,以所有大写字母命名脚本局部变量被认为是不好的风格。所有大写通常表示一个环境变量。