No shell ( ksh
, zsh
, bash
) você pode fazer:
stars=$(printf '%*s' 80 '')
echo "${stars// /*}"
Com bash
, há a opção de fazer:
printf -v stars '%*s' 80 ''
echo "${stars// /*}"
Explicação: O printf
usa uma string de formato %*s
, o que significa produzir uma string de comprimento que é fornecida por meio de um argumento. Portanto, o primeiro argumento ( 80
) especifica o comprimento e o segundo argumento especifica a sequência ( ''
, uma sequência vazia) a ser efetivamente impressa, mas preenchida em branco com a largura definida. Observe que isso também pode ser expresso como printf "%80s" ''
, embora eu tenha usado a versão parametrizada para o comprimento para tornar explícito que pode ser um parâmetro variável.