2011-08-29 61 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