我创建使用shell script.It会在我的bash来运行shell它是一种简单的基于菜单的显示驱动部分的选项设置一个简单的基于控制台的脚本。
现在我想做的中心对齐取决于屏幕大小的文本。 如何在屏幕中心对齐文本?请阿西斯我
我创建使用shell script.It会在我的bash来运行shell它是一种简单的基于菜单的显示驱动部分的选项设置一个简单的基于控制台的脚本。
现在我想做的中心对齐取决于屏幕大小的文本。 如何在屏幕中心对齐文本?请阿西斯我
最后,我找到了解决办法:)
COLUMNS=$(tput cols)
title="Hello world!"
printf "%*s\n" $(((${#title}+$COLUMNS)/2)) "$title"
在基于BSD的系统,包括MacOS的,则fmt
实用程序有一个-c
标志文本居中。
echo $text | fmt -c -w $COLUMNS
不幸的是,GNU fmt
有一个不兼容的-c标志和无可奈何的中心。
简单的Perl的解决方案:
perl -pe '$sp = " " x (($ENV{COLUMNS} - length) / 2); s/^/$sp/'