为什么bash扩展会使用zsh得到不同的结果?

时间:2018-05-29 02:45:42

标签: bash shell zsh

我有以下目录结构:

[demo.zip]:

  • _rels
    • 的.rels
  • docProps
    • app.xml的
    • core.xml
  • XL
    • _rels
      • workbook.xml.rels
    • 主题
      • theme1.xml
    • 工作表
      • sheet1.xml
    • sharedStrings.xml
    • styles.xml
    • workbook.xml
  • [CONTENT_TYPES]的.xml

当我调用以下命令时(使用bash):

echo ./**/*.xml

它输出了以下内容,但遗漏了一些结果:

docProps/app.xml
docProps/core.xml
xl/sharedStrings.xml
xl/styles.xml
xl/workbook.xml

但是,如果我使用zsh,它会输出所有xml文件,如下所示:

[Content_Types].xml
docProps/app.xml
docProps/core.xml
xl/sharedStrings.xml
xl/styles.xml
xl/theme/theme1.xml
xl/workbook.xml
xl/worksheets/sheet1.xml

为什么我用bash和zsh获得不同的结果?

1 个答案:

答案 0 :(得分:2)

默认情况下,Bash无法将**识别为递归搜索。

您可以使用

在Bash 4+中启用此功能
shopt -s globstar