Похожие вопросы

Странная ошибка bash: "ошибка импорта определения функции для "модуля BASH FUNC""
WSL / Bash в Windows 10: не удалось создать пользователя UNIX, возвращен код ошибки 10
Отключение завершения SVN" oh-my-zsh"
Как повтор символа n раз с printf
Скрипт действует по-разному при запуске cron
Как я негативно рисунок в файл bash-скрипт?
Обрабатывать имя файла с пробелами внутри Bash-скрипта
Как зациклить выполнение скрипта с помощью param из текстового файла?
запуск linux: xinput не применяет настройки в скрипте
Архивирование файлов размером более 2 ГБ в оболочке bash
Скрипт оболочки для проверки файлов и их перемещения в другой каталог
Windows 10 Bash команда не работает, несмотря на включение режима разработчика и включение " Подсистема Windows для Linux"
Excel; экспорт / импорт различных столбцов в различные файлы csv
Запуск скриптов bash из скрипта bash в другой папке
"Другой" палец (поля GECOS в /etc / passwd)

Как повтор символа n раз с printf

у меня есть функция, которая передает строку. Я хочу, чтобы эта функция дополняла эту строку * в строке. Допустим, я прохожу foo bar Я хочу, чтобы распечатать что-то вроде

***************
*** foo bar ***
***************

Im сталкивается с проблемами при оценке длины строки и использовании этого с printf. Вот что у меня получилось

install_block() {
  dir=""
  main_echo="*** $dir ***"
  length="${#main_echo}"
  pad=$(printf '%.0s*' {1.."$length"}; echo)
  echo $pad
  echo $main_echo
  echo $pad
}
5
задан LouieV
источник

1 ответов

Я хотел бы использовать

pad=$(printf '%*s' $length "" | tr ' ' '*')

или jot (установите пакет "athena-jot" для ubuntu)

pad=$(jot -b '*' -s '' $length)

кроме того, не забывайте цитата переменных

echo "$pad"
echo "$main_echo"
echo "$pad"
0
отвечен glenn jackman 2018-10-19 16:43:21
источник

Другие вопросы bash shell shell-script