问题如下(这里我没有使用,find
因为它不支持双星号通配符**
):
$ FILES=(foo/**/*.suffix bar/**/*.suffix2)
$ grep baz "${FILES[@]}" # works
# I use this to create one local var with local in one function
$ SUBFILES="${FILES[@]}"
$ grep baz "${SUBFILES[@]}" # doesn't work
我曾经od
检查过它们,但它们是相同的,至少具有相同数量的“\n”和相同的长度(我没有逐个字符地检查。但乍一看它们是相同的)。
$ echo ${SUBFILES[@]} | od -c
$ echo ${FILES[@]} | od -c
为什么变量赋值不能创建一个对象但仍然有效grep
?