我想使用 打印粗体文本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)
正确的答案是使用%b格式说明符而不是%s:
printf '%b\n' "\033[1m"bold_text"\033[0m"
Run Code Online (Sandbox Code Playgroud)
从help printf:
%b - 展开相应参数中的反斜杠转义序列