Bash中使用printf输出重复字符n次

Bash中使用printf输出重复字符n次

主要利用printf的格式化输出字符串:

printf '*%.0s' {1..5}

这会输出连续的5个星号

  • ‘%.0s’:表示输出的字符串宽度为0,也就是什么也不会输出
  • {1..5}:bash的展开功能,它实际是1 2 3 4 5。在printf中也就是依次输出12345,但是要根据格式字符串的要求输出。
  • printf ‘%.0s’ {1..5}:结合上面两条,这实际上是执行了5次printf,但什么也没输出。但是注意%前面的‘*’,这是我们要输出的东西,它在格式化字符串中也就是代表它也是格式的一步分,由于printf输出的参数{1..5}在格式化字符串中被屏蔽了,所以只会输出’*’,并且重复了5次。
Comments are closed.