同胞社区,
我在下面有一个命令。在互联网的某个地方找到它。该命令的作用是在当前文件夹和嵌套文件夹下搜索参数。我试图翻译和分析它:
find ${1:-.} -path '*/\.*' -prune -o -type d -print 2> /dev/null | fzf +m && cd "$dir"
find
-> 命令本身${1:-.}
-> 如果我们提供值,我们将搜索 $(1) 并显示它,否则,它将显示当前目录 ':-.' 下的所有内容-path '*/\.*'
-> 这是我们应该寻找目标的路径。当我们省略转义符号时,它可以写成/。,这意味着我们正在搜索当前文件夹及其中的所有内容,并且该文件夹的位置无关紧要(前缀中的星号)。-prune
-> 它导致 find 不下降到当前文件。-o
- 这很棘手,但在发生错误时它可以工作。简而言之,我们通过此语句确保无论输出是什么都会显示。-type d
-> 目录-print
-> 打印路径2> /dev/null
-> 抑制任何输出。它是一个空设备,它接受任何输入并将其丢弃。fzf +m
-> 禁用多选
我对这个命令的问题是我想修改它,使其不仅在当前文件夹中搜索,而且通常在主文件夹和外部驱动器中搜索(例如,我有一个位于 中的驱动器/Volumes/xyz
)。到目前为止,我一直在尝试的一切似乎都不起作用。我真的很感激一些帮助。