45 votes

Création d'une chaîne de caractères répétés dans le shell script.

Je dois générer une chaîne de points ( . caractères) comme variable.

Par exemple, dans mon script Bash, pour l'entrée 15 J'ai besoin de générer cette chaîne de longueur 15 : ...............

Je dois le faire de manière variable. J'ai essayé d'utiliser ceci comme base ( de Unix.com ) :

for i in {1..100};do printf "%s" "#";done;printf "\n"

Mais comment faire pour que la valeur 100 devienne une variable ?

-1voto

dolmen Points 2196

Lorsque je dois créer une chaîne qui contient $x répétitions d'un caractère connu avec $x sous une valeur constante, j'utilise cette idiome :

base='....................'
# 0 <= $x <= ${#base}
x=5
expr "x$base" : "x\(.\{$x\}\)"    # Will output '\n' too

Sortie :

.....

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X