2016-11-25 3 views
0

Моя цель - эхо-символ, например #, на основе значения, такого как num=6, и он должен печатать # 6 раз на экране.Эхо-символ, основанный на значении переменной (linux)

Не знаете, как это получить.

+0

Что вы пробовали? Есть много похожих вопросов, которые вы смотрите вокруг? – Inian

+1

Возможный дубликат [Печатать символ повторно в bash] (http://stackoverflow.com/questions/5799303/print-a-character-repeatedly-in-bash) –

+1

Возможный дубликат [Как я могу повторить символ в bash ?] (http://stackoverflow.com/questions/5349718/how-can-i-repeat-a-character-in-bash) – fuglede

ответ

1

Вы могли бы сделать что-то вроде

printf '#%.0s' {1..6} 

или, в более общем случае,

printf '#%.0s' $(seq 1 $num) 
+0

'{1..6}' не будет работать в ksh. – ceving

+0

@ceving, который [тег: ksh]? Он работает в канонической версии AT & T ksh 'AJM 93u + 2012-08-01' –

+0

@HenkLangeveld Он может работать в версии, которую вы цитировали, но главная причина использования KornShell - писать скрипты, которые также работают на более старых системах Unix , Если вы используете синтаксис ksh, обогащенный функциями Bash, вы откажетесь от преимущества переносимости, что делает почти бесполезным использование KornShell. 'Ksh' Solaris 10 не поддерживает' {1..6} '. – ceving

0
printf "%*s" "$num" " " | tr " " "#" 

или

yes '#' | head -"$num" | tr -d "\n" 
Смежные вопросы