bash-completion相关内容
我想从我的自定义完成中获得以下行为 给定 $ mkdir foo$ touch foo faz/bar faz/baz 我想要这个 $ foo -u =>foo faz/$ foo -u fa=>foo -u faz/$ foo -u faz/=>巴兹 我假设 compgen -ff 会输出 foo faz/,但它输出的 foo faz 对我没有多大帮助. 我是否需要对输出进行
..
我正在研究如何在 bash 脚本中创建动态 case 语句. 例如,假设我有一个带有以下内容的 awk 语句的输出 红色绿色蓝色 在这种情况下,输出可以随时更改. 如果此 awk 输出中包含一个值,我将尝试执行不同的逻辑. 因此,如果上面的数据在 $list 中,那么从概念上讲,我想执行以下操作: case "${my_var}" in$list).....别的东西)...
..
当我实现一个 bash 自动完成功能时,有些东西让我感到困惑,我会把它放在 /etc/bash_completion.d/ 为了实现某些功能,我想从变量 $COMP_WORDBREAKS 中删除分词符冒号 (:) 并添加斜线 (/) 在 $COMP_WORDBREAKS 的开头. COMP_WORDBREAKS="/'>
..
我第一次尝试编写 bash 补全,我对取消引用 bash 数组的两种方法有点困惑 (${array[@]}和 ${array[*]}). 这是相关的代码块(顺便说一下,它可以工作,但我想更好地理解它): _switch(){本地卷曲本地 ROOT=${PERLBREW_ROOT:-$HOME/perl5/perlbrew}完全=()cur=${COMP_WORDS[COMP_CWORD]}
..
我也想在参数中自动完成我的 python 脚本. 我从来没有真正理解 bash_completion 是如何工作的(用于参数),但在我深入研究之后我明白了: 它使用“完成"将完成功能绑定到命令 每个完成函数基本上都是参数解析器的副本 特别是第二点不是很好,因为我想让它自动生成. 最好的事情是 shell 在每个 TAB 处询问我的程序要完成什么,但我的印象是这不能真正起作
..
定义的bash函数rte(): $ function rte(){ rostopic echo $@ ;}; 并尝试使用rostopic的补全功能 $ complete -pro rostopic完整 -F _roscomplete_rostopic rostopic 通过命令: $ complete -F _roscomplete_rostopic rte 以上设置可以验证如下:
..
我正在广泛使用git隐藏.乍一看,只要一个简单的 3 就足够了,有时候键入 stash @ {3} 会很烦人.可以以某种方式使用较短的参考吗? 我知道一个使用shell别名的解决方案.制作类似 的别名 sshow =“!f {git stash show @ {$ @};}; f" 允许使用 git sshow 1 .如果 $ @ 正确展开,它甚至可以将其他参数传递给 git st
..
我创建了一个命令 memo ,如下所示: memo(){vi $ HOME/memo/$ 1} 我想对我的 memo 应用bash-completion来打开 $ HOME/memo 目录中的文件: $ memo [TAB]#以显示$ HOME/memo中的文件 $ HOME/memo 包含目录,因此仅在 memo 下列出文件是不够的.换句话说,我想将 $ HOME/memo 中
..
在外壳程序( GNU bash,版本4.2.47(1)-发行版(x86_64-suse-linux-gnu))中,当我点击制表符进行自动补全时,"$"在转义后变量名已完成,但是如果没有完成,则只会响起.例如 $ ls $ JDK_H 产生 $ ls \ $ JDK_HOME(带尾随空格) 在旧的GNU bash版本3.2.51(1)-发行版(x86_64-suse-li
..
我一直在尝试向最近使用的命令行程序添加bash补全支持,但是似乎我遇到了麻烦. 这是我要自动完成的命令和子命令 主要命令是 foo ,应该对子命令 version , process 和 help 执行自动补全.代码>.进一步的完成取决于子命令. 如果用户在主命令后输入-,则自动补全将对以下单词执行补全:-activate 或-deactivate 如果用户输入-deact
..
bash中的自动完成功能(带有Tab)可在文件夹上使用,但不能用于文件. 我正在运行Ubuntu 13.10 我没有触摸过 .bashrc 文件 这是 .bashrc 文件底部的外观,其中安装并更新了 bash-completion 部分: #启用可编程完成功能(无需启用#这,如果它已经在/etc/bash.bashrc和/etc/profile中启用#来源/etc/bash.ba
..
当可能的选项可能包含空格时,我在bash补全方面遇到了问题. 比方说,我想要一个回显第一个参数的函数: function test1(){回声$ 1} 我生成了一个可能的完成选项列表(有些有空格,有些没有空格),但是我无法正确处理空格. function pink(){#我的真实示例使用awk和其他命令生成类似的字符串回声“尼克\梅森·塞德-巴雷特大卫·吉尔默·罗杰\沃特斯·理查
..
我试图执行以下命令来对文件夹内找到的数据进行分析,但是,将其保存在执行行的文件夹中,如何将结果保存在文件夹中?该文件位于吗? sed -n 14,71p * _fastqc/* fastqc.txt |awk'{print $ 1"" $ 2}'|awk'{sum + = $ 2;n ++} END {如果(n> 0)打印总和/n;}'>QC-report.txt 解决方案 循环是必
..
我想为一个(相当复杂的)Bash完成脚本编写一个单元测试,最好使用Python-只是可以通过编程获取Bash完成值的东西.测试应如下所示: def test_completion():#trigger_completion应该返回用户在触发时应该得到什么#这样的Bash完成:'pbt createkvm'断言trigger_completion('pbt createkvm')==
..
自从我对Homebrew进行最新更新以来,尝试像往常一样使用命令(在我的bash_profile中)设置路径完成时,突然收到以下警告: source $(brew --repository)/etc/bash_completion.d/git-completion.bash 自上次工作以来,我唯一要做的就是运行brew update && echo; brew upgrade --all
..
无论我尝试什么,我似乎都无法在我的zsh shell中使git tab/autocomplete工作.我已经下载了bash-completion脚本和zsh-completion脚本,并按照说明进行了操作,但是我无法使其工作. 我已经重新安装了oh-my-zsh,但这似乎没有帮助或没有任何作用. 任何能够使它工作的人都可以向我描述他们的设置,以便我可以尝试进行仿真以使其对我有用吗?
..
GNU 建议使用 --name = value 语法,用于为长选项传递参数。 假设您有完整的可能参数集,它使一个长选项可以接受本身是可选的参数。您如何为这样的选项编写bash完成代码?我希望完成操作在完成明确的参数时(而不是之前)增加空间。 解决方案 这是我编写的模板代码用于完成虚拟命令 gnu-options 代码中给出的GNU选项。 不带参数的选项是在数组 opts 中定义
..
有没有一种方法来控制在bash4命令提示符下键入的第一个命令的完成? 我可以用complete -E来控制“空行”的完成,但是一旦键入某些字符,bash(或可能是readline)就会为我提供PATH中的所有文件名,内置命令(如果有,则是else ...)以及完成尝试(TAB)时的功能。 我能够通过在PROMPT_COMMAND中取消设置PATH并通过绑定功能来捕获DEBUG来恢复PA
..
我目前有一个Bash完成文件,该文件从脚本的允许命令列表中完成一个参数(称为"pbt").这是有效的Bash完成文件: _pbt_complete() { local cur goals COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} goals='asadmin clean deploy' cur=`echo $cur` CO
..
在我的Bash脚本中,我正在读取用户使用read输入的一些变量: read -p "Glassfish Path:" GF_DIR 现在,我希望用户在必须输入目录时(例如当您在Bash shell上时)获得自动补全功能.因此,当他输入目录的前几个字母时,可以通过单击TAB来自动完成该目录. 有可能吗? 解决方案 尝试: read -e -p "Glassfish Path:
..