печатать символы повторно, используя символ звездочки в bash

print '*' * 80 

Этот фрагмент python печатает 80 звездочек, которые я часто использую в качестве разделителей в файлах журналов.

Как я могу сделать это в сценарии bash, используя перегрузку оператора?

  • Как печатать управляющие символы с escape-последовательностями?
  • Как напечатать дефисы, если переменная пуста?
  • Потрясающее поведение округления с печатью
  • Перезапись строки в оболочке unix после печати
  • Выравнивание при печати серии записей
  • Как напечатать восклицательный знак в tcsh?
  • Как печатать слева и справа от уже напечатанного вывода
  • Как добавить несколько строк с переменными в конец сценария bash?
  • One Solution collect form web for “печатать символы повторно, используя символ звездочки в bash”

    В оболочке ( ksh , zsh , bash ) вы можете:

     stars=$(printf '%*s' 80 '') echo "${stars// /*}" 

    С bash есть возможность делать:

     printf -v stars '%*s' 80 '' echo "${stars// /*}" 

    Объяснение: printf использует строку формата %*s что означает создание строки длины, которая предоставляется через аргумент. Таким образом, первый аргумент ( 80 ) определяет длину, а второй аргумент указывает строку ( '' , пустую строку) для эффективной печати, а пустую – до определенной ширины. Обратите внимание, что это также можно выразить как printf "%80s" '' , хотя я использовал параметризованную версию для длины, чтобы сделать ее явной, что она может быть переменным параметром.

    Linux и Unix - лучшая ОС в мире.