2016-11-25 8 views
0

Mein Ziel ist es, ein Zeichen, zum Beispiel #, basierend auf einem Wert wie num=6 Echo und es muss # 6 mal auf dem Bildschirm drucken.Echo-Zeichen basierend auf Variablenwert (linux)

Nicht sicher, wie man das bekommt.

+0

Was haben Sie versucht? Es gibt viele ähnliche Fragen zur Verfügung, die Sie sich umsehen? – Inian

+1

Mögliches Duplikat von [Ein Zeichen wiederholt in bash drucken] (http://stackoverflow.com/questions/5799303/print-a-character-repeatedly-in-bash) –

+1

Mögliches Duplikat von [Wie kann ich ein Zeichen in bash wiederholen? ?] (http://stackoverflow.com/questions/5349718/how-can-i-repeat-a-character-in-bash) – fuglede

Antwort

1

Man könnte so etwas wie

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

oder im allgemeineren Fall tun,

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

'{1..6}' funktioniert nicht in ksh. – ceving

+0

@ceving welche [tag: ksh]? Es funktioniert in der kanonischen AT & T ksh 'Version AJM 93u + 2012-08-01' –

+0

@HenkLangeveld Es könnte in der Version funktionieren, die Sie zitiert haben, aber der Hauptgrund für die Verwendung der KornShell ist das Schreiben von Skripten, die auch auf älteren Unix-Systemen funktionieren . Wenn Sie eine ksh-Syntax verwenden, die mit Bash-Funktionen angereichert ist, werden Sie den Vorteil der Portabilität aufgeben, wodurch es fast nutzlos ist, die KornShell überhaupt zu verwenden. Das 'ksh' von Solaris 10 unterstützt' {1..6} 'nicht. – ceving

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

oder

yes '#' | head -"$num" | tr -d "\n" 
Verwandte Themen