Arrays 在bash关联数组键中使用特殊字符
我尝试在BashV4中创建一个关联数组。键应该是目录名和ID值。问题是,某些目录包含特殊字符,如括号,这会导致语法错误 我的代码是:Arrays 在bash关联数组键中使用特殊字符,arrays,linux,bash,console,Arrays,Linux,Bash,Console,我尝试在BashV4中创建一个关联数组。键应该是目录名和ID值。问题是,某些目录包含特殊字符,如括号,这会导致语法错误 我的代码是: for PAGE in ${MOIN_PAGES[@]} do CURRENT=`cat $MOIN_DIRECTORY/data/pages/$PAGE/current` if [[ $CURRENT != cat* ]] then echo $CURRENT MOIN_REVISIONS["$PAGE"
for PAGE in ${MOIN_PAGES[@]}
do
CURRENT=`cat $MOIN_DIRECTORY/data/pages/$PAGE/current`
if [[ $CURRENT != cat* ]]
then
echo $CURRENT
MOIN_REVISIONS["$PAGE"]=$CURRENT
fi
done
Bash告诉我,错误与
MOIN_REVISIONS["$PAGE"]=$CURRENT
MOIN_页面包含类似Abkc3bcrzungen的字符串
有什么办法解决这个问题吗?使用前必须声明关联数组。使用declare-A MOIN_修订。man bash说,关联数组是使用任意字符串引用的,所以不应该出现错误。您看到的是哪一个错误?错误消息是:/script.sh:第26行:Abkc3bcrzungen:表达式中的语法错误错误错误标记是c3bcrzunge设置为当前值时,您需要引用$PAGE的扩展名。@Vivek谢谢,这是我问题的解决方案!