我有〜/ .unison / *.prf中存在的一致性配置文件列表.
我想要完成bash,这样当我打开一个或一致的gtk并点击标签时,它会列出.prf文件从该文件夹没有.prf部分.
也许一个例子会更清楚:
$ls ~/.unison/*.prf default.prf dot-mozilla.prf to-desktop.prf $cd ~ # just to show you don't have to be in the ~/.unison folder $unison to<tab> $unison to-desktop
我预见需要另一个工具,所以如果有部分可以重复使用会很方便.
如果您正在运行debian / ubuntu或其他GNU / Linux发行版,则应在/etc/bash_completion.d/目录中显示此类完成的示例.以下是一个示例,说明如何设置一致的完成脚本:
have unison && _unison_show() { local cur COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} COMPREPLY=($( compgen -W "$(for x in ~/.unison/*.prf; do echo $(basename ${x%.prf}); done)" -- $cur ) ) } complete -F _unison_show unison