it-swarm-vi.tech

Màu sắc trong bash sau khi đường ống qua ít?

Khi tôi có dircolors định nghĩa cuộc sống đầy ... màu sắc.

Khi tôi chuyển ls qua less để cuộn xung quanh tôi sẽ mất màu.

Bất kỳ đề xuất?

108
MathewC

Nhiều khả năng ls của bạn được đặt bí danh là ls --color=auto, cho biết ls chỉ sử dụng màu khi đầu ra của nó là tty. Nếu bạn làm ls --color (tương đương về mặt đạo đức với ls --color=always), điều đó sẽ buộc nó bật màu.

Bạn cũng có thể thay đổi bí danh của mình để làm điều đó, nhưng tôi thực sự sẽ không gọi đó là một ý tưởng hay. Tốt hơn để tạo một bí danh khác với --color.

less cần -R, quá.

109
chaos

Hãy thử ít hơn với tùy chọn -R như thế này:

command | less -R

Điều này làm việc cho tôi trong một lót như thế này:

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

Và cũng như thế này:

ls --color | less -R

Nhưng bạn phải tinh chỉnh đầu ra chính (đầu ra của ls trong trường hợp này) một chút với tham số --color.

58
wzzrd