问题背景
要在终端里打印一条分隔线,这条分隔线由”#“组成,宽度与终端的宽度相同。
解决思路
问题一、如何重复字符串?
#!/bin/sh
printf '#%.0s' {1..100}
问题二、如何获取终端的宽度?
#!/bin/sh tput cols
最终的代码
#!/bin/sh printf '#%.0s' $(seq $(tput cols)) # 可能你需要在结尾加上一个换行符,默认printf是不带换行符的
参考文献
WikiNotes/重复字符串
How can I repeat a character
How do I find the width & height of a terminal window?
该博客介绍了如何利用Shell脚本来创建一条由'#'字符组成的分隔线,其长度与终端窗口的宽度相等。首先,通过`printf`命令和参数`%.0s`来重复字符,然后结合`seq`命令和`tput cols`获取终端的列数,实现动态宽度的分隔线。最后,文章提供了完整的Shell脚本示例,并提到了获取终端窗口高度和宽度的方法。
1913

被折叠的 条评论
为什么被折叠?



