问题标签 [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.
bash - 带有 * 的意外 bash 目录列表
我的 bash 中的目录列表区分大小写有问题。例如
但是我确实希望它只列出 nohupa 而不是 nohuPb。因为 nohuPb 有大写 P。我不知道我的 .bashrc 集中的哪个变量 * 可以忽略大小写。
任何想法 ?
bash - Bash 完成 - 如何摆脱不需要的制表符?
我用
从数据库中获取可能的变体并使用TAB. 只要这些变体可以包含空格,使用'
前缀和后缀自动引用它们是很方便的,所以当我按,A并且只有一个带有前缀的变体时,我会得到类似.BTABAB
'ABC DEF'
但问题是,如果在,之后有很多变体A,我得到,然后我再按一次,它是 NOP,只有在第三次按下时,我才有可能完成。BTAB'AB
TABTAB
有没有办法将TAB压力减少到一个或至少两个?
regex - bash 完成不适用于 MSYS bash。正则表达式语法错误
我尝试为 MSYS bash 安装 bash-completion,但它似乎包含一些语法错误。它失败并显示以下消息
这是失败的代码
python - Bash 完成脚本的单元测试
我想为(相当复杂的)Bash 完成脚本编写单元测试,最好使用 Python - 只是以编程方式获取 Bash 完成值的东西。测试应如下所示:
如何以编程方式模拟 Bash 完成以检查我的工具的测试套件内的完成值?
bash - 在 bash 中,如何在键入命令行时扩展 !$?
有没有办法!$
在 shell 内交互式编辑命令时扩展 in 命令行?
例如,当我输入 时ls !$
,我按下某个按钮,然后我看到 的值是什么!$
。
bash - 嵌套 bash 自动完成脚本
我一直在尝试将 bash 补全支持添加到我最近一直在使用的命令行程序中,但似乎我碰壁了。
这是我想自动完成的命令和子命令
主命令为,子命令、、
foo
应自动补全。进一步的自动完成取决于子命令。version
process
help
如果用户
-
在主命令之后输入,自动补全会为这些单词执行补全:--activate
或--deactivate
如果用户输入
--deactivate
,它应该执行 bash 命令输出的自动完成(比如说ls
)。
version
: 没有执行自动完成process
:自动完成默认列出目录(包括当前目录和父目录)- 如果用户输入
-
,自动补全对这些单词执行补全:--color
,--verbose
然后停止
- 如果用户输入
如果用户输入
help
,则自动完成用于其他子命令(process
或version
)。
这是我当前对自动完成脚本的实现(严重失败):
您可能会看到 Bash 也不是我的主要强项。我正在考虑为每个子命令编写单独的 bash 函数,但目前我不知道该怎么做。如果您对如何实现这一点也有建议,我将不胜感激。
谢谢!
bash - bash 完成_parse_help 坏了?
为了让脚本的命令行开关轻松完成 bash,我一直在探索 /etc/bash_completion(debian sid、bash v4.2-1、bash-completion v1:1.99-3)中的 _parse_help 函数。
我的脚本会生成一条我认为是标准 GNU 格式的帮助消息:
然后我通过 激活完成complete -F _parse_help ./myscript
。
不幸的是,这并没有给出预期的结果。在第一个选项卡./myscript <TAB>
上(注意,只是一个按键)出现一个未格式化的列表,其中包含 --help 和 --option,而不是缩短的版本。更糟糕的是,任一选项的完成都会失败。事实上,仅仅输入一个破折号就会导致 _parse_help 完全停止生成输出。
整件事情感觉非常破碎,我在网上找不到太多的参考。这个功能可能被认为是过时的吗?是否有另一种基于解析 --help 输出的命令行完成标准方法?
python - 与 distutils / pip 一起安装 Bash 补全
我创建了一个简单的 Python 模块,并想用 pip 分发它。我还想与模块一起安装 Bash 完成文件。我正在使用 Python 2.7.1+ 和 pip 0.8.2 安装模块。
我有这个 setup.py:
现在,如果我尝试使用 安装包pip install -e .
,Bash 完成文件永远不会与包一起安装。我还通过指定 MANIFEST.in 尝试了解决方法,如下所述:
清单.in:
但这也无济于事——完成文件不会被安装。我可以做些什么来安装 Bash 完成文件?
bash - 带有 bash 可编程完成的条件尾随空格
我正在创建一个函数来为我使用的命令提供可编程完成(在http://www.debian-administration.org/articles/317的帮助下)。shell脚本用法如下:
其中命令可以是“foo”或“bar”,“foo”的命令选项是“a_foo=value”和“b_foo=value”,“bar”的命令选项是“a_bar=value”和“b_bar=value” .
这是我正在使用的配置:
这主要按我的意愿工作:
完成到:
(根据需要带有尾随空格)
然而,这:
完成到:
(也有尾随空格)
我想用'='替换尾随空格。或者,我愿意将传递给 compgen 的值更改为“--a_foo= --b_foo=”,在这种情况下,我可以删除尾随空格。
不幸的是,该命令不在我的控制之下,因此我无法将命令行选项的格式更改为“--a_foo value”而不是“--a_foo=value”。