如何使用 printf 打印粗体文本?

cod*_*ter 3 bash printf

我想使用 打印粗体文本printf。我该怎么做?

printf '%s\n' "\033[1m"bold_text"\033[0m"
Run Code Online (Sandbox Code Playgroud)

不起作用。它显示:

\033[1mbold_text\033[0m
Run Code Online (Sandbox Code Playgroud)

但是,相同的字符串可以很好地使用echo -e

echo -e "\033[1m"bold_text"\033[0m"
bold_text
Run Code Online (Sandbox Code Playgroud)

cod*_*ter 8

正确的答案是使用%b格式说明符而不是%s

printf '%b\n' "\033[1m"bold_text"\033[0m"
Run Code Online (Sandbox Code Playgroud)

help printf

%b - 展开相应参数中的反斜杠转义序列