2011-08-29 58 views
1

我试图做到这一点:耙路线产生奇怪的字符和中断`| less`

rake routes | less 

但它产生以下怪异字符,打破less所以它不会搜索或正确响应。这是新的,并且用于工作几年。我系统上的某些内容发生了变化,我不知道如何停止或更改它!我怎样才能避免这个问题?

^[[1m^[[36mSQL (0.7ms)^[[0m ^[[1mdescribe `roles_users`^[[0m                                    
    ^[[1m^[[35mSQL (0.9ms)^[[0m describe `teams_users` 
    ^[[1m^[[36mSQL (1.0ms)^[[0m ^[[1mdescribe `instructors_media_clips`^[[0m 
    ^[[1m^[[35mSQL (0.7ms)^[[0m describe `collections_packs` 
    ^[[1m^[[36mSQL (0.7ms)^[[0m ^[[1mdescribe `lessons_songs`^[[0m 
    ^[[1m^[[35mSQL (0.9ms)^[[0m describe `media_clips_packs` 
    ^[[1m^[[36mSQL (0.9ms)^[[0m ^[[1mdescribe `instructors_media_clips`^[[0m 
    ^[[1m^[[35mSQL (1.0ms)^[[0m describe `related_media_clips` 
    ^[[1m^[[36mSQL (0.7ms)^[[0m ^[[1mdescribe `lesson_instructors`^[[0m 
    ^[[1m^[[35mSQL (0.8ms)^[[0m describe `collections_packs` 
    ^[[1m^[[36mSQL (0.6ms)^[[0m ^[[1mdescribe `media_clips_packs`^[[0m 
    ^[[1m^[[35mSQL (0.8ms)^[[0m describe `roles_users` 
    ^[[1m^[[36mSQL (0.7ms)^[[0m ^[[1mdescribe `lessons_songs`^[[0m 
    ^[[1m^[[35mSQL (0.8ms)^[[0m describe `teams_users` 
        admin_admin_main GET /admin/admin/main(.:format)     {:controller=>"admin", :action=>"index"} 
        new_user_session GET /:locale/members/sign_in(.:format)   {:controller=>"sessions", :action=>"new"} 
         user_session POST /:locale/members/sign_in(.:format)   {:controller=>"sessions", :action=>"create"} 
       destroy_user_session GET /:locale/members/sign_out(.:format)   {:controller=>"sessions", :action=>"destroy"} 
        user_password POST /:locale/members/password(.:format)   {:controller=>"devise/passwords", :action=>"create"} 
       new_user_password GET /:locale/members/password/new(.:format)  {:controller=>"devise/passwords", :action=>"new"} 
       edit_user_password GET /:locale/members/password/edit(.:format)  {:controller=>"devise/passwords", :action=>"edit"} 
            PUT /:locale/members/password(.:format)   {:controller=>"devise/passwords", :action=>"update"} 
      cancel_user_registration GET /:locale/members/cancel(.:format)    {:controller=>"registrations", :action=>"cancel"} 
       user_registration POST /:locale/members(.:format)     {:controller=>"registrations", :action=>"create"} 
      new_user_registration GET /:locale/members/sign_up(.:format)   {:controller=>"registrations", :action=>"new"} 
      edit_user_registration GET /:locale/members/edit(.:format)    {:controller=>"registrations", :action=>"edit"} 
            PUT /:locale/members(.:format)     {:controller=>"registrations", :action=>"update"} 
            DELETE /:locale/members(.:format)     {:controller=>"registrations", :action=>"destroy"} 
        profile_users GET /:locale/users/profile(.:format)    {:controller=>"users", :action=>"profile"} 
          users GET /:locale/users(.:format)      {:controller=>"users", :action=>"index"} 
            POST /:locale/users(.:format)      {:controller=>"users", :action=>"create"} 
          new_user GET /:locale/users/new(.:format)     {:controller=>"users", :action=>"new"} 
         edit_user GET /:locale/users/:id/edit(.:format)    {:controller=>"users", :action=>"edit"} 
           user GET /:locale/users/:id(.:format)     {:controller=>"users", :action=>"show"} 
            PUT /:locale/users/:id(.:format)     {:controller=>"users", :action=>"update"} 
            DELETE /:locale/users/:id(.:format)     {:controller=>"users", :action=>"destroy"} 
          roles GET /:locale/roles(.:format)      {:controller=>"roles", :action=>"index"} 
            POST /:locale/roles(.:format)      {:controller=>"roles", :action=>"create"} 
+0

它看起来像RSpec的输出我。不知道那里有什么在做。尝试注释掉Rspec gem并调用'rake routes'来查看它是否是它。 – Zequez

+0

@Zequez我没有使用rspec ...:| – pixelearth

+0

不知道是否是我的,因为我使用的是rake 0.9.2,但是ruby 8.7 – pixelearth

回答

0

那些看起来像ANSI颜色转义序列。就好像少了就不能正确解释序列。你确定你没有使用更少的选项?也许有一些选项,如less -Rless --RAW-CONTROL-CHARS。我承认我并不了解ANSI颜色转义序列。

+0

Jared:我认为你是对的,我使用了一个名为Hirb的gem,它显示所有db查询控制台,但是它以彩色输出它们。我想知道我怎么能告诉'less'忽略这些序列。绝对不会特别要求显示字符tho ... – pixelearth

+0

通过使用-R或-r tho我得到的序列实际上以'less'的颜色出现,但是我的命令更少被大多忽略和曲解。例如我的j命令(向下移动)只是打印一个'j' – pixelearth

+0

不知道这是否有帮助,但如果你在控制台中,没有鼠标,你总是可以使用Shift + PageUp/PageDown滚动一个几页 – Zequez

0

Jared说你需要用less -R来解释颜色顺序是正确的。

在失去less的导航控制方面,我不认为它是由rake引起的,而是由在轨试图从标准输入读的东西。

要解决此问题,重定向STDIN:

rake routes </dev/null | less