سؤال الألوان في باش بعد الانابيب من خلال أقل؟


عندما يكون لدي dircolors محددة الحياة مليئة ... اللون.

عندما أنا الأنابيب ls عبر less للتنقل في جميع أنحاء أفقد الألوان.

أي اقتراحات؟


94
2018-06-16 13:30


الأصل




الأجوبة:


على الأرجح لديك ls هو اسم مستعار ل ls --color=autoالذي يروي ls لاستخدام الألوان فقط عندما يكون ناتجها tty. اذا فعلت ls --color (وهو ما يعادل أخلاقيا ls --color=always) ، سيجبرها على تشغيل الألوان.

يمكنك أيضًا تغيير اسمك المستعار للقيام بذلك ، لكنني لن أدعوه حقًا فكرة جيدة. من الأفضل إنشاء اسم مستعار مختلف --color.

less الاحتياجات -R، جدا.


96
2018-06-16 13:38



لماذا لا تسميها فكرة جيدة أن تعرف باسم ls ls --color أو ls --color=always، لذاك السبب؟ - j08lue
@ j08lue إذا قمت بالمرور عبر أمر لا يعالج اللون ، فستحصل على بعض الأحرف غير المرغوب فيها التي قد تفسد الأمر. على سبيل المثال ، فعلت ls --color=always | less وحصلت: ESC[01;32mexecute_once.shESC[0m (أعلم أن هذا شيء قديم وربما لا تهتم به ، ولكن بالنسبة للزائرين في المستقبل ، قد يكون هذا مفيدًا) - Ryan Amos
RyanAmos كزائر في المستقبل ، وشكرا لكم. :) - malvim


جرب أقل مع خيار -R مثل:

command | less -R

هذا يعمل بالنسبة لي في بطانة واحدة مثل هذا:

ls -la | grep --color=always bash | less -r

ومثل هذا أيضا:

ls --color | less -R

ولكن عليك أن تضبط الناتج الرئيسي (خرج ls في هذه الحالة) قليلاً مع المعلمة - اللون.


51
2018-06-16 13:33



شكرا ، وهذا يعمل أيضا ل ack-grep. ack-grep my_string --color | اقل - - igniteflow
- لم يتم التعرف على اللون: ls: خيار غير قانوني - - تشغيل باش على osx. - Scott Biggs
Scott Biggs: في OSX لا يوجد - اللون؛ حاول ليرة سورية -G
@ لو تشي ، حتى مع -G، الألوان مفقودة - Iulian Onofrei
في OS X ، تحتاج إلى ضبط متغير البيئة CLICOLOR_FORCE (لأي شيء) عندما لا يتم توجيه خرج ls إلى مطراف. يعمل هذا بالنسبة لي: CLICOLOR_FORCE = ls -G | اقل - - jooon