一尘不染

在printf中使用颜色

linux

当这样写时,它以蓝色输出文本:

printf "\e[1;34mThis is a blue text.\e[0m"

但我想在printf中定义格式:

printf '%-6s' "This is text"

现在,我尝试了几种添加颜色的方法,但没有成功:

printf '%-6s' "\e[1;34mThis is text\e[0m"

我什至尝试添加属性代码来格式化,但没有成功。这是行不通的,在任何地方都找不到将颜色添加到printf的示例,该示例已经定义了格式。


阅读 282

收藏
2020-06-03

共1个答案

一尘不染

您正在将各部分混合在一起,而不是将它们干净地分开。

printf '\e[1;34m%-6s\e[m' "This is text"

基本上,将固定内容放入格式,将变量内容放入参数。

2020-06-03