小编Ged*_*son的帖子

自定义命令的 Bash 自动完成子目录

我已经尝试了几个小时来使这个工作正常进行,但我觉得我还没有接近任何地方。

我试图通过从 Mac OS X 终端完成目录名称的制表符来缩短我们的工作流程。

我们有一个内部工具,我们称之为 ,它bob会自动在 git 子模块上运行命令。我想做的是让它自动完成子目录名称。问题是,这些子目录位于静态位置。

   project directory
   ->public
     ->submodules
       ->a-module
       ->another-module
       ->other-module
       ->some-module
Run Code Online (Sandbox Code Playgroud)

命令从顶级项目目录运行,如下所示:

bob start bugfix anothermodule
Run Code Online (Sandbox Code Playgroud)

而不是必须完全输入“anothermodule”,这是我们目前所做的,我希望让标签自动完成工作。我们每天多次使用此工作流程,将其缩短几秒钟会很棒并且可以避免打字错误。

最终目标是:

bob start bugfix an<tab>
Run Code Online (Sandbox Code Playgroud)

会自动完成

bob start bugfix anothermodule
Run Code Online (Sandbox Code Playgroud)

我试过CDPATH但很快意识到这不是我想要的,因为这不是遵循cd命令,只是我的自定义命令。

我已经bash_completion安装,但一般来说我不太擅长 bash。提到这一点,以防万一它可以成为解决方案的一部分!

bash command-line autocomplete tab-completion macos

5
推荐指数
1
解决办法
1412
查看次数

标签 统计

autocomplete ×1

bash ×1

command-line ×1

macos ×1

tab-completion ×1