管道输出到变量时如何不丢失颜色?
假设我有一些带有文件的目录:
SOME_DIR=$(mktemp -d)
touch "$SOME_DIR/abc"
当我做ls和grep时,输出中的“ab”由grep
着色ls "$SOME_DIR" | grep ab
abc # 'ab' is red
但是如果我将输出变为变量并回显它,颜色就会消失
LS_OUTPUT=`ls "$SOME_DIR" | grep ab`
echo "$LS_OUTPUT"
abc # no colors
我也试过
LS_OUTPUT=$((ls "$SOME_DIR" | grep ab) 2>&1)
echo "$LS_OUTPUT"
abc # no colors
和
LS_OUTPUT=$(ls "$SOME_DIR" | grep ab)
echo "$LS_OUTPUT"
abc # no colors
你知道如何解决这个问题吗?