在函数内部使用时,Linux find命令未给出正确的结果

在函数内部使用时,Linux find命令未给出正确的结果,linux,Linux,我正在shell脚本中使用上述函数。变量${pattern}和${days}将位于属性文件中,或者可以在执行时用作脚本参数 ${pattern}将是:-名称“*数据*”或类似名称,可多次提供 就像-名称“*数据*”-名称“*脚本*”-名称“*错误*” 脚本接受给定的参数,但正在压缩所有文件,包括模式“*数据*”n“*脚本*”匹配的文件 甚至我以前也给过(\),但没有运气。 您能提供一个解决方案供我使用吗?从命令行执行此操作时是否会以同样的方式失败?另外,当在没有“-exec gzip{}”的情况

我正在shell脚本中使用上述函数。变量
${pattern}
${days}
将位于属性文件中,或者可以在执行时用作脚本参数

${pattern}将是:-名称“*数据*”或类似名称,可多次提供

就像-名称“*数据*”-名称“*脚本*”-名称“*错误*”

脚本接受给定的参数,但正在压缩所有文件,包括模式“*数据*”n“*脚本*”匹配的文件

甚至我以前也给过(\),但没有运气。
您能提供一个解决方案供我使用吗?

从命令行执行此操作时是否会以同样的方式失败?另外,当在没有“-exec gzip{}”的情况下从命令行运行时,输出是什么样子的?也许最好将参数放在引号内。如果变量包含空格,它将被重新解释为两个独立的参数。在命令提示符下,它工作正常。但在脚本内部,它并没有给出预期的结果。
_zip_cmd() {
    find . -maxdepth 1 ! -path . -type f ${pattern} -mtime +${days} -exec gzip {} \;
}