如果我在我的脚本中写这个字符串:
list=$(ls /path/to/some/files/*/*/*.dat)
它工作正常。但我需要的是
files="files/*/*/*.dat"
list=$(ls /path/to/some/${files})
它说
ls: /path/to/some/files/*/*/*.dat: No such file or directory
我该怎么做?
答案 0 :(得分:14)
如果您只收到确实没有匹配的.dat
文件的消息,请将其添加到您的脚本中:
shopt -s nullglob
如果没有匹配的文件,它将导致glob扩展为空列表,而不是按字面处理。
答案 1 :(得分:4)
试试这个:
list=$(find /path/to/some/files/ -mindepth 3 -maxdepth 3 -name '*.dat')