我有一个别名,我可以open file1.type file2.type
或open *.type
我想要的是能够在我当前位置的所有子目录上使用它。因此,如果我在父目录中并且有两个子目录,则运行该命令将与运行open file1.type file2.type child1/file1.type child2/file1.type
所以像open -? *.type
这样的东西就是我正在寻找的东西。
答案 0 :(得分:6)
如果在设置globstar
选项的情况下运行zsh或bash 4.x,**
将递归匹配所有目录。
#!/bin/zsh
open **/*.type
...
#!/bin/bash
shopt -s globstar
open **/*.type
答案 1 :(得分:2)
find
适用于此类功能。像这样:
find . -type f -name \*.type -exec open {} \;
或者在这种情况下,由于open
是别名,因此您必须将shell作为命令运行:
find . -type f -name \*.type -exec bash -c open {} \;