linux - 转到最底部的目录?

标签 linux bash command-line

我正在使用一个包含许多嵌套文件夹的目录,例如/path/to/project/users/me/tutorial

我在这里找到了一种向上浏览文件夹的巧妙方法: https://superuser.com/questions/449687/using-cd-to-go-up-multiple-directory-levels

但我想知道如何将它们记录下来。这似乎要困难得多,但目录结构的一些事情会有所帮助。每个目录中只有另一个目录,或者可能是一个目录和一个 README。

我正在寻找的目录看起来更像一个传统项目,其中可能包含随机目录和文件(肯定比任何其他更高级别的目录都多)。

现在我正在研究一个解决方案,使用呃.. 递归 bash 函数 cd'ing 进入下面唯一的目录,直到有 0 或 2+ 个目录循环。这还行不通..

我是不是太复杂了?我觉得使用 find 可能会有一些不错的解决方案。理想情况下,我希望能够输入如下内容:

down path

其中 path 是顶级文件夹。这将带我进入底部文件夹教程。

最佳答案

有一个名为CDPATH 的环境变量。 cd 使用此变量的方式与可执行文件在搜索路径名时使用 PATH 的方式相同。

例如,如果您有以下目录:

/path/to/project/users/me
/path/to/project/users/me/tutorial
/path/to/project/users/him
/path/to/project/users/him/test
/path/to/project/users/her
/path/to/project/users/her/uat
/path/to/project/users/her/dev
/path/to/application
/path/to/application/conf
/path/to/application/bin
/path/to/application/share

export CDPATH=/path/to/project/users/me:/path/to/project/users/him:/path/to/project/users/her:/path/to/application

cd tutorial 等简单命令将在上述路径中搜索 tutorial

假设 /path/to/application 下面有目录,即 confbinshare。一个简单的 cd conf 将把你带到 /path/to/application/conf 只要它之前的路径都没有 conf 目录。此行为类似于 PATH 中的可执行文件。第一次出现的总是被选中

关于linux - 转到最底部的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351599/

相关文章:

linux - 如何使用 depmod 使一个 Linux 内核模块依赖于另一个外部模块?

bash - 这个 bash 脚本有什么问题吗?

bash - 提取字母数字值

Java 应用程序在 netbeans 中运行良好,但在命令行或 .jar 文件中运行不佳

C 中的命令行参数,无法理解其行为

bash - 如何通过 bash shell 转义 SQLite 中的字符?

我们可以在 make 中运行一个 python 脚本来生成一些 .c 和 .h 文件,然后构建一个镜像吗?

database - 如何将 JET 数据库转换为 SQLite?

linux - 如何使用 bash 获取有关 ubuntu 中特定用户的所有信息?

linux - 如何从 bash 在 Linux screen 中创建附加终端