我正在尝试根据输出编写具有两种颜色的文本文件。我使用 echo -e
命令,就像在控制台中使用颜色打印时一样,如下所示:
RETURNED=$?
if [ $RETURNED == 0 ]
then
echo -e "\e[1;32mffmpeg -t $DURACION -f x11grab -s $RESOLUCION -r ${FPS[j]} -b:v $BR -i :0.0 -y $NOMBRE\e[0m" >> file.txt
fi
想法是:如果命令有效,则写一条绿线,否则使用红色。但是,我在文本文件中没有看到任何彩色线条。
最佳答案
您是否尝试过 less -R file.txt
?这应该会显示颜色(至少对我有用)。
如果你想要非 shell 应用程序支持的颜色编码,你最好的选择可能是输出 HTML,例如:
printf '<code style="color: %s;">%s</code>' "green" "ffmpeg -t $DURACION -f x11grab -s $RESOLUCION -r ${FPS[j]} -b:v $BR -i :0.0 -y $NOMBRE" >> file.html
关于bash - 如何写一个带颜色的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22380733/