Hola. Acabo de terminar un script que recibe como parámetro una variable numérica entera y debe de hacer un monton del tamaño que le digamos. Ejemplo:
./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.
#!/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
Bueno, tu sabrás cómo lo haces, yo he hecho eso en C y el código no es tan complicado, mira, así puedes quitar un carácter:
#!/bin/bash
name="Leonardo";
for((i = 0; i < ${#name}; i++))
do
echo -e "${name:0:-$i}";
done
${string:0:-1}