linux - Bash - 选项卡上的预期文件扩展名

标签 linux bash

我不确定这是否可以在 Linux/Unix 终端中完成,所以我想问一下。

对于某些程序(不幸的是,我想不出除了 bibtex 之外的任何程序,它在选项卡上自动“扩展”.aux 扩展名)当我完成输入时出它前面的文件名(减去点和扩展名),我注意到如果我点击 tab 它将“自动完成”点 + 文件扩展名。

这是您实际上可以以某种方式控制的东西吗?例如,如果我编写了一个仅适用于 *.tex 文件的 bash 脚本(我们称之为 compile.sh),我可以执行以下操作:

$ ./compile.sh nameOfProgram -- tab and autocomplete .tex extension -- 

当然,它不是 bash 脚本本身固有的,而是通过其他一些方式识别我正在使用所述可执行文件。

有时,就像使用 LaTeX 时经常出现的情况一样,同一目录中有多个基本名称相同但扩展名不同的文件 - 我希望它只接受具有预定义扩展名的文件。

最佳答案

当然可以为 compile.sh 定义一个只匹配 *.tex 文件的自定义完成函数。编写一个好的完成函数是一项广泛的任务,但是您可以用

做一些非常简单的事情
# Add to your .bashrc file to enable in every shell, not just
# the current shell
complete -G '*.tex' compile.sh

它只会将匹配 *.tex 的文件视为 compile.sh 的任何参数的有效补全。

关于linux - Bash - 选项卡上的预期文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39253217/

相关文章:

bash - 在 VS Code 中使用 Git Bash 终端 - 如何强制其在内部打开

bash - 在 sed 中使用字典文件

c++ - VisualGDB c++ 到 RaPi Poco 没有这样的文件或目录

linux - 禁用内核跟踪器

c - 在 c, linux 中,关于 kill 和 raise

linux - 镜像字符串

linux - 为什么 ELF 文件包含大小为 0 的符号表部分?

Linux下使用grep命令

linux - 用于保护文件免受 Alt + f4 攻击的陷阱命令

linux - 多文件 View ,如数据库 View