文本对齐中心 - shell脚本

Kar*_*k V 6 shell ubuntu

我正在使用shell脚本创建一个简单的基于控制台的脚本.它将在我的bash shell上运行它基于一个简单的菜单驱动显示一些选项.

现在我想根据屏幕尺寸对文本进行居中对齐.如何在屏幕中央对齐文本?请帮助我

Kar*_*k V 15

最后我找到了解决方案:)

COLUMNS=$(tput cols) 
title="Hello world!" 
printf "%*s\n" $(((${#title}+$COLUMNS)/2)) "$title"
Run Code Online (Sandbox Code Playgroud)


小智 6

在基于BSD的系统(包括MacOS)上,该fmt实用程序具有-c中心文本的标记.

echo $text | fmt -c -w $COLUMNS
Run Code Online (Sandbox Code Playgroud)

不幸的是,GNU fmt有一个不兼容的-c标志,没有中心选择.