大家好,我正在进行一个项目,但是我希望能够以彩色显示输出的文本。
#!/bin/bash
printf "%s" "this is in red";
printf "%s" "this is in default color";
exit 0
这是一个例子,我如何将“这是红色的”显示为红色,并使其余输出文本保留默认颜色?
我查看了一些示例,但它们都是针对echo的,对于printf并不起作用,我真的必须使用echo才能使其正常工作吗?
任何帮助都将是巨大的帮助。谢谢。
大家好,我正在进行一个项目,但是我希望能够以彩色显示输出的文本。
#!/bin/bash
printf "%s" "this is in red";
printf "%s" "this is in default color";
exit 0
通过向终端发送ANSI转义序列,可以实现将以下文本以不同颜色显示。 printf
使生成必要的字符序列变得容易,因为它将(除其他内容外)解释\e
为ASCII转义字符。
具体来说,你可以通过打印序列\e[31m
(包含5个字符:ASCII 27(转义字符)、[
、3
、1
和m
)告诉终端开始显示红色字符。要告诉终端使用默认颜色(对于终端而言是什么颜色),请输出\e[0m
。把它们组合起来:
printf '\e[31m%s\e[0m' "this is in red"
printf "%s" "this is in default color"
#!/bin/bash
printf "\x1b[31m\"this is in red\"\x1b[0m\n";
printf "this is in default color\n";