我正在通过脚本搜索文件。为了处理结果,find 用结果填充一个数组。我是这样装的
RANGE=$1
arr=( $(find /net/nas3/mediadata/xmlprodpictures/tui ! -iname "* *" -iregex '.*/big/[${RANGE}]/.*\(jpg\|gif\|png\|jpeg\)' -type f | sort) )
它不起作用,但如果我直接在行中设置参数,它就会起作用。
正确转义的问题?
提前谢谢
最佳答案
尝试使用readarray
代替:
RANGE=$1
readarray -t ARR < <(find /net/nas3/mediadata/xmlprodpictures/tui ! -iname "* *" -iregex ".*/big/[${RANGE}]/.*"'\(jpg\|gif\|png\|jpeg\)' -type f | sort)
printf "Value: %s\n" "${ARR[@]}"
关于arrays - bash:在查找函数中使用参数填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18653704/