我一直在为一个新概念而苦苦挣扎——bash 脚本中的关联数组。
这是我的代码的简化版本:
#!/bin/bash
declare -A MYID
MYID[hello]=world
tac /home/user/filename | while read -r line; do
MYID[hello]=me
done
echo "${MYID[hello]}"
exit
这就是我认为它会做的事情:1)声明一个名为 MYID 的关联数组 2)在 MYID 中将值 world 分配给键 hello 3)逐行读取文件 /home/user/filename 4)每次读取一行将我分配给 MYID 数组中的键 hello 5) 打印出“me”并退出
它所做的是打印出“世界”而不是“我”。我究竟做错了什么?