问题标签 [bash-completion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git 完成和 PS1 不工作:Ubuntu 12.04 上的“sudo -s”或“sudo su”上的“__git_ps1:找不到命令”
我安装了 git 和 git-flow 完成,将这些行添加到 .bashrc 的 root 和 Ubuntu 12.04 机器上的 normal_user:
当我以 root 或 normal_user 身份登录时,git 完成工作。但是,如果我使用“sudo -s”或“sudo su”,则 git 完成功能不起作用,并且每次按回车键时都会不断收到“__git_ps1:找不到命令”。我试图删除“源”命令并使用“apt-get install bash-completion”(bash-completion 已经安装)。因此,即使没有 2 个来源,我也会得到完全相同的行为。
任何人都知道问题是什么以及如何使其工作?
bash - Bash 完成命令
在我的职能中,我有
这应该列出所有以 notes_ 开头的命令以及某个目录中的所有文件,并且在调用时会这样做notes --complete
。但是,当我尝试使用制表符完成时
它只显示文件而不是命令?
bash - 让“完整”和“菜单完整”一起工作
我发现 Bash shell 支持一种与“传统”自动完成不同的自动完成,其中所有可能性都列在下一行中。
使用“传统”自动完成功能,如果我键入ch
然后按下Tab
键,我会得到如下信息:
但是,如果我将以下行添加到我的/etc/inputrc
(将 Tab 键重新映射到内置menu-complete
函数):
然后 shell 的行为发生了变化:要完成的单词被替换为“内联”,从可能的完成列表中找到一个匹配项,如果我再次按 Tab 键,该单词将被下一个匹配项替换。
我发现这很有用,但我仍然想保留传统的自动完成并将其绑定到 key combination Ctrl + Tab
。/etc/inputrc
因此,根据readline
库文档的建议,我在文件中添加了以下行:
但是,添加这一行似乎只能同时Tab
调用Ctrl-Tab
传统complete
函数。
有谁知道我做错了什么?
提前致谢!
bash - 如何配置bash完成以扩展部分路径,如emacs“minibuffer-complete”?
我想配置我的 bash shell 来扩展部分输入的树结构,就像它执行 emacs“minibuffer-complete”命令一样。
想象一下,我有两个文件夹,foo1 和 foo2。foo1 包含一个子文件夹 sub1,而 foo2 包含子文件夹 wow。所以我有:
foo1/sub1/
foo2/哇/
现在,如果我键入,在 emacs 中打开文件时
f/w
然后按 TAB 会自动将其展开为“foo1/wow/”。
我想在 bash 中有类似的功能。有任何想法吗?
bash - 具有增量目录完成的 bash 可编程选项卡完成
我有一个可以接受大量有效参数的程序。其中许多具有共同的前缀,并且位于目录树结构中。这些选项通常不存在,有些目录可以带或不带斜线使用,但有些只能不带斜线使用。
如果我已经有 bash 完成,它会显示这个替代列表并在我按下并部分完成参数时更改命令行,如下所示:
如何将其更改为 bash 完成,就像常规文件/目录完成一样:
和
bash - bash 历史 CTRL+R 行为
有时我尝试通过CTRL+搜索某些命令R但没有找到,而我最近使用它或通过CTRL+搜索R成功。
在我运行“历史”之后,我能够再次找到该命令。
这种行为正常吗?如何改变?
bash - teamocil 的 bash 完成
我正在尝试为teamocil定义 bash 自动完成,这样当我键入teamocil <tab>
它时,它应该以文件夹中的文件名完成,~/.teamocil/
而没有文件扩展名。网站上有一个例子zsh
:
我怎么能用这个bash
?
编辑:受 michael_n 回答的影响,我想出了一个单行:
bash - bash 完成不像以前那样工作——没有转义文件名中的空格和奇怪的东西等
好的,我只是不明白为什么这不能自动工作。
当我在我的 mac 上工作时,当我在 bash 中自动完成时,空格和其他奇怪的字符会自动转义,但在我的 ubuntu 机器上,它们不会。更糟糕的是,如果我确实转义了角色,然后尝试自动完成,转义就会消失。为什么 debian 的 bash 不完全知道如何处理需要开箱即用的空格和其他字符?
bash - 为什么bash中的反斜杠?
我在 ~/.bashrc 中导出了一个变量,如下所示(后跟 source ~/.bashrc)
当我在命令行上时,我尝试通过以下方式访问 $w 的子目录
在此之后,当我按 Tab 键时,会出现一个神秘的反斜杠
它会禁用进一步的制表符补全。为什么?可能并不vi
具体,因为即使使用ls
.
运行 Ubuntu 11.04 的 Bash 版本 4.2.24(1)-release (i686-pc-linux-gnu)
编辑 解决方法:在点击选项卡之前点击 Esc+Ctrl+E。
bash - 在查找文件时让 compgen 在目录中包含斜杠
我想从我的自定义完成中获得以下行为
给定
我想得到这个
我认为那compgen -f f
会输出foo faz/
,但它输出foo faz
对我没有多大帮助。
我是否需要对输出进行后处理,或者是否有一些神奇的选项组合来完成这项工作?