我怎么用echo来做呢?
perl -E 'say "=" x 100'
我怎么用echo来做呢?
perl -E 'say "=" x 100'
当前回答
稍微长一点的版本,但如果你出于某种原因必须使用纯Bash,你可以使用一个带增量变量的while循环:
n=0; while [ $n -lt 100 ]; do n=$((n+1)); echo -n '='; done
其他回答
我刚刚发现了一个非常简单的方法来做到这一点使用seq:
更新:此功能适用于OS x附带的BSD序列。YMMV与其他版本
seq -f "#" -s '' 10
将打印'#' 10次,如下所示:
##########
-f "#"设置格式字符串忽略数字,只输出#。 -s "将分隔符设置为空字符串,以删除seq在每个数字之间插入的换行符 -f和-s后面的空格似乎很重要。
编辑:这里是一个方便的功能…
repeat () {
seq -f $1 -s '' $2; echo
}
你可以这样叫它…
repeat "#" 10
注意:如果你重复使用#,那么引号就很重要!
Python无处不在,在任何地方都能正常工作。
import sys;Print ('*' * int(sys.argv[1]))"" = " 100
Character和count作为单独的参数传递。
最简单的方法是在bash中使用这一行代码:
seq 10 | xargs -n 1 | xargs -I {} echo -n ===\>;echo
没有简单的办法。使用printf和substitution避免循环。
str=$(printf "%40s")
echo ${str// /rep}
# echoes "rep" 40 times.
repeat() {
# $1=number of patterns to repeat
# $2=pattern
printf -v "TEMP" '%*s' "$1"
echo ${TEMP// /$2}
}