Как повтор символа 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
}
12
задан LouieV
11.01.2023 18:14 Количество просмотров материала 3338
Распечатать страницу

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 2023-01-13 02:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх