如何让标签完成与“耙”一起工作?

改变

当我尝试使用制表符完成时rake,只建议使用文件:

$ rails test-app | grep -v create; cd test-app
$ rake <TAB><TAB>
app/      db/       lib/      public/   README    test/     vendor/   
config/   doc/      log/      Rakefile  script/   tmp/    

该软件包rake-0.8.7-2包括一个 Bash 完成配置文件,

$ debsums -e rake
/etc/bash_completion.d/rake                                         OK

所以我希望按 Tab 键应该会建议可以使用的任务:

$ rake --tasks
(in ~/sandbox/test-app)
rake db:abort_if_pending_migrations       # Raises an error if there are pending migrations
rake db:charset                           # Retrieves the charset for the current environment's database
rake db:collation                         # Retrieves the collation for the current environment's database
rake db:create                            # Create the database defined in config/database.yml for the current RAIL...
rake db:create:all                        # Create all the local databases defined in config/database.yml
rake db:drop                              # Drops the database for the current RAILS_ENV
...

我究竟做错了什么?

重新安装 rake 并重新启动计算机后问题仍然存在。我的~/.bashrc包含:

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

但完成rake似乎没有被注册:

$ complete | grep rake
$

. /etc/bash_completion在 shell 中显式运行并不能解决问题,但运行以下命令确实可以rake暂时完成

$ grep complete /etc/bash_completion.d/rake
[ -n "${have:-}" ] && complete -F _rake $filenames rake
$ complete -F _rake rake
$ rake <TAB><TAB>
db:abort_if_pending_migrations       db:version                           rails:update
db:charset                           doc:app                              rails:update:application_controller
db:collation                         doc:clobber_app                      rails:update:configs
db:create                            doc:clobber_plugins                  rails:update:generate_dispatchers
db:create:all                        doc:clobber_rails                    rails:update:javascripts
db:drop                              doc:guides                           rails:update:scripts
...
莱肯斯坦

打开 shell 时会加载 Tab 补全。安装应用程序时,您需要重新打开 shell 或运行下一个命令来加载新的 bash 完成:

. /etc/bash_completion

看起来是一个错误rake[ -n "${have:-}" ]检查是否$have设置了命名变量如果前一个 has 调用失败,这将不起作用。替换为have rake

have rake && complete -F _rake $filenames rake

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

标签 COLGROUP 如何与两个 col=100% 一起工作?

来自分类Dev

hashmap如何与Integer作为键一起工作

来自分类Dev

如何使Webpack和Node一起工作?

来自分类Dev

平均负载如何与现代CPU一起工作?

来自分类Dev

JavaScript和JSF如何一起工作?

来自分类Dev

如何配置Spring和Angular一起工作

来自分类Dev

这种起重如何与料斗一起工作?

来自分类Dev

Jruby和OSGi-如何一起工作?

来自分类Dev

如何让Cabal和Nix一起工作

来自分类Dev

如何使onDragListener和onTouchListener一起工作?

来自分类Dev

扭曲如何与原子操作一起工作?

来自分类Dev

如何使Webpack和Node一起工作?

来自分类Dev

如何使Reader和ReaderT一起工作

来自分类Dev

试图了解混杂如何与BlueBird一起工作

来自分类Dev

如何使ExcelDNA与R.Net一起工作

来自分类Dev

我如何让jQuery与我一起工作?

来自分类Dev

如何使Apache POI和JAXB一起工作?

来自分类Dev

spark RangeBetween如何与降序一起工作?

来自分类Dev

Job queue如何与promise一起工作?

来自分类Dev

setState如何与备注中的反应一起工作

来自分类Dev

如何使Tkinter和Selenium一起工作

来自分类Dev

如何使Pynput的线程与转义序列一起工作?

来自分类Dev

std :: cout如何与char指针一起工作?

来自分类Dev

红宝石如何与数组数组一起工作

来自分类Dev

insertOrThrow如何与UNIQUE约束一起工作?

来自分类Dev

Jruby和OSGi-如何一起工作?

来自分类Dev

如何使onDragListener和onTouchListener一起工作?

来自分类Dev

如何让Picasso和OkHttp一起工作?

来自分类Dev

超越如何与隔离范围一起工作