加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

特定目录中某些类型的文件的bash完成

发布时间:2020-12-15 18:37:16 所属栏目:安全 来源:网络整理
导读:我有?/ .unison / *.prf中存在的一致性配置文件列表. 我想要完成bash,这样当我打开一个或一致的gtk并点击标签时,它会列出.prf文件从该文件夹没有.prf部分. 也许一个例子会更清楚: $ls ~/.unison/*.prfdefault.prf dot-mozilla.prf to-desktop.prf$cd ~ # ju
我有?/ .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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读