elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 06:51  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  [Bash] Restar caracteres a una variable
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Bash] Restar caracteres a una variable  (Leído 1,094 veces)
hervasiop12345

Desconectado Desconectado

Mensajes: 33


Ver Perfil
[Bash] Restar caracteres a una variable
« en: 11 Agosto 2011, 17:32 »

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.
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
 
 


« Última modificación: 11 Agosto 2011, 22:44 por Leo Gutiérrez. » En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: [Bash] Restar caracteres a una variable
« Respuesta #1 en: 11 Agosto 2011, 22:47 »

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:

Código
#!/bin/bash
name="Leonardo";
for((i = 0; i < ${#name}; i++))
do
echo -e "${name:0:-$i}";
done
 

${string:0:-1}


En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Restar X cantidad de caracteres al valor de una variable
Programación Visual Basic
extreme69 14 1,448 Último mensaje 10 Diciembre 2010, 15:32
por extreme69
[BASH]Simplemente guardar string en una variable
Scripting
illera88 11 2,506 Último mensaje 3 Enero 2011, 06:33
por Leo Gutiérrez.
Crear variable en bash
Scripting
.:UND3R:. 12 1,868 Último mensaje 14 Abril 2011, 12:44
por D4RIO
Problema script bash ruta de directorio en variable
Scripting
InuKen 4 904 Último mensaje 14 Mayo 2011, 00:46
por Leo Gutiérrez.
[Bash]Tratar variable vacía case [Resuelto]
Scripting
hervasiop12345 4 1,447 Último mensaje 8 Julio 2011, 17:45
por hervasiop12345
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines