שאלה צבעים bash לאחר צנרת דרך פחות?


כאשר יש לי dircolors מוגדר החיים מלאים ... צבע.

כשאני מקטרת ls דרך less לגלול מסביב אני מאבד את הצבעים.

הצעות כלשהן?


94
2018-06-16 13:30






תשובות:


סביר להניח שלך ls הוא aliased ל ls --color=auto, אשר אומר ls כדי להשתמש רק בצבעים כאשר הפלט שלה הוא tty. אם אתה כן ls --color (שווה ערך מבחינה מוסרית ל ls --color=always), זה יאלץ אותו להפעיל את הצבעים.

אתה יכול גם לשנות את הכינוי שלך לעשות את זה, אבל אני לא באמת מכנה את זה רעיון טוב. מוטב להכין כינוי אחר --color.

less צרכי -R, גם.


96
2018-06-16 13:38



למה שלא תקרא לזה רעיון טוב לכינוי 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 במקרה זה) קצת עם הפרמטר - colour.


51
2018-06-16 13:33



תודה, זה עובד גם עבור ack-grep. ack-grep my_string --color | פחות -R - igniteflow
- צבע לא מוכר: LS: אפשרות בלתי חוקית - - הפעלת באש על osx. - Scott Biggs
@ סקוט ביגס: ב OSX אין צבע - צבע; נסה ls -G
@ Lu-Chi, אבן עם -G, הצבעים חסרים - Iulian Onofrei
ב- OS X עליך להגדיר את משתנה הסביבה CLICOLOR_FORCE (לכל דבר) כאשר הפלט של ls אינו מכוון אל מסוף. זה עובד בשבילי: CLICOLOR_FORCE = ls -G פחות -R - jooon