<分区>
这是我的$a
输出:
[root@node1 ~]# echo "${a}"
/dev/vdc1 /gfs1
/dev/vdd1 /elastic
mfsmount /usr/local/flytxt
我必须将它们存储在关联数组 fsmounts
中,第一列作为键,第二列作为值。
这是我的代码:
declare -A fsmounts
echo "$a" | while read i ; do key=$(echo "$i" | awk '{print $1}'); value=$(echo "$i" | awk '{print $2}');fsmounts[$key]=$value; done;
但是当我尝试使用
在循环外打印时[root@node1 ~]# echo ${fsmounts[/dev/vdb1]}
空白是输出。我认为关联数组 fsmounts 实际上并不存储值。请帮助我。
但实际上我可以在循环内回显 fsmounts[$key]
。看这个:
echo "$a" | while read i ; do key=$(echo "$i" | awk '{print $1}'); value=$(echo "$i" | awk '{print $2}');fsmounts[$key]=$value; echo ${fsmounts[$key]}; done;
/gfs1
/elastic
/usr/local/flytxt