./monton 5
*
***
*****
*******
*********
El problema está en que quiero restarle a una variable que se llama distancia en cada iteración un caracter " " para que salga así de cuadrado. Ejecutar el script para entenderlo del todo y gracias.
Código
#!/bin/bash echo $1 | grep -x -q "[0-9]\+" num=$? if [ \( $# != 1 \) ] || [ \( $num != 0 \) ] then echo "Llama con un único argumento y que sea numérico" exit 1 fi lineas=$1 control=1 char="*" pintadas=0 j=1 espacio=" " while [ $j -lt $lineas ] do distancia=$distancia$espacio let j=j+1 done while [ $pintadas -lt $lineas ] do echo -n "$distancia" #Esta es la variable a la que quiero restarle espacios for i in `seq 1 1 $control` do echo -n "$char" done echo -e "\r" let control=control+2 let pintadas=pintadas+1 done