我怎么用echo来做呢?

perl -E 'say "=" x 100'

当前回答

我的建议(接受n的变量值):

n=100
seq 1 $n | xargs -I {} printf =

其他回答

没有简单的办法。使用printf和substitution避免循环。

str=$(printf "%40s")
echo ${str// /rep}
# echoes "rep" 40 times.

建议的Python解决方案的更优雅的替代方案可能是:

python -c 'print "="*(1000)'

另一种选择是使用GNU seq并删除它生成的所有数字和换行:

seq -f'#%.0f' 100 | tr -d '\n0123456789'

这个命令打印#字符100次。

#!/usr/bin/awk -f
BEGIN {
  OFS = "="
  NF = 100
  print
}

Or

#!/usr/bin/awk -f
BEGIN {
  while (z++ < 100) printf "="
}

例子

我的建议(接受n的变量值):

n=100
seq 1 $n | xargs -I {} printf =