Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果顶级目录为空,则bash globbing(globstar)模式错误,并带有;没有这样的文件或目录;_Bash_Glob_Ls - Fatal编程技术网

如果顶级目录为空,则bash globbing(globstar)模式错误,并带有;没有这样的文件或目录;

如果顶级目录为空,则bash globbing(globstar)模式错误,并带有;没有这样的文件或目录;,bash,glob,ls,Bash,Glob,Ls,我有这样一个文件夹结构: a/ b/ test.js c/ another_test.js 当我想找到所有这些文件时,我尝试了globstar方法: ls a/{,**/}*.js 但是,由于没有a/*.jsx文件,此命令会出错(但仍会输出文件): $ ls a/{,**/}*.jsx ls: a/*.jsx: No such file or directory a/b/test.js 我想使用这个特定的glob,因为在将来的某个时候,a/test.

我有这样一个文件夹结构:

a/
  b/
    test.js
  c/
    another_test.js
当我想找到所有这些文件时,我尝试了globstar方法:

ls a/{,**/}*.js
但是,由于没有
a/*.jsx
文件,此命令会出错(但仍会输出文件):

$ ls a/{,**/}*.jsx
    ls: a/*.jsx: No such file or directory
    a/b/test.js
想使用这个特定的glob,因为在将来的某个时候,
a/test.js
可能存在

是否有一个全局模式可以递归地在
a/
中查找所有
.js
文件而不出错


我查看了中的一些选项,但找不到任何不出错的选项并列出了所有文件。

对于bash4及更高版本,只需使用:
ls dir/***.js

对于以前的bash版本,例如osx附带的3.2,您可以使用find:

find dir-name'*.js'

只要使用
ls a/***/.js
就可以了,如果你启用了globstar,它就可以找到
a/test.js,否则
***
只是
嗯,osx没有
globstar
选项,至少它附带的bash没有。那么你为什么要问globstar?