Open cmust opened 1 week ago
I think the reason you're getting color from ls
in this case is that you have some configuration enforcing color.
If you want color from dir
you need to somehow get dir
to color output not only to pipes but to terminals as well.
In GNU ls
, you do this by passing --color=always
. On BSD ls
, setting CLICOLOR_FORCE
to some value will force color.
What I expect, and what's probably happening with Powershell is this:
dir
sees that its output is a pipe rather than a terminaldir
adapts by not showing any colormoar
receives the not-colored stream and shows thatDo you get color from env -i /bin/ls | moar
? If not, this demonstrates that you're somehow forcing ls
to show color even when piping its output to somewhere else.
Running this command
produces an output with no color.
The equivalent command (ls | moar) in other shells preserves the coloring as expected.