为什么相同的通配符在shell和npm脚本中表现不同?



我想使用./src/**/*.js来匹配./src文件夹中的每个js文件,无论文件路径有多深

所以我在shell中运行ls ./src/**/*.js,通配符的行为与我预期的一样,js文件如./src/path1/a.js./src/path1/path2/b.js和两者匹配。

然后在package。json中添加npm script

{
scripts: {
"test": "ls ./src/**/*.js"
}
}

runnpm run test。但是现在只匹配./src/pah1/a.js这样的文件。

我不知道为什么相同的通配符表现不同。谁能告诉我什么是正确的通配符,我可以用它来匹配每个js文件在一个文件夹。

谢谢。

它们就是不一样。shell不扩展**。试试find ./src -name '*.js'吧。

相关内容

  • 没有找到相关文章

最新更新