Foros del Web » Administración de Sistemas » Unix / Linux »

Manejo de variables en GNU- Bash

Estas en el tema de Manejo de variables en GNU- Bash en el foro de Unix / Linux en Foros del Web. Hola, soy nuevo en sh. Esto puede sonar trivial, estoy intentando manejar unas variables como numericas para armar una fecha determinada y obtengo un resultado ...
  #1 (permalink)  
Antiguo 24/07/2008, 16:31
 
Fecha de Ingreso: julio-2008
Mensajes: 10
Antigüedad: 15 años, 9 meses
Puntos: 0
Manejo de variables en GNU- Bash

Hola, soy nuevo en sh.

Esto puede sonar trivial, estoy intentando manejar unas variables como numericas para armar una fecha determinada y obtengo un resultado inesperado. El script es :

let mm_a=0

yy=$1
mm=$2
dd=3

mm_a=`expr $mm - 1`

v_mesantes=$yy$mm_a$dd
echo $v_mesantes

El resultado inesperado es que el mes y el dia si son menores a el valor 9 no me toma como variables de dos posiciones , ejemplo : 20080701, lo toma como 200871.

Como puedo manejar variables que me soporte lo que necesito...?
Alguna luz.....?

Estoy en un RedHat con GNU bash, version 3.00.15(1)-release (x86_64-redhat-linux-gnu)
___
Saludos,
Fonzy
  #2 (permalink)  
Antiguo 24/07/2008, 17:08
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 61
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Manejo de variables en GNU- Bash

pues para rapido se me ocurre poner un if , si es menor igual que 9 agregas un 0 si es que solo tla tienes que imprimir :P
  #3 (permalink)  
Antiguo 25/07/2008, 09:06
 
Fecha de Ingreso: julio-2008
Mensajes: 10
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Manejo de variables en GNU- Bash

Gracias libso,
Si le coloque un if y listo, la conclusion que saque es que 1 <> 01 para la comparación pero no para las operaciones matematicas con esos valores.

Saludos y gracias de nuevo.
Fonzy.
  #4 (permalink)  
Antiguo 25/07/2008, 10:40
rqd
 
Fecha de Ingreso: julio-2008
Mensajes: 228
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Manejo de variables en GNU- Bash

eso lo puedes hacer con awk, algo así como:

printf("%0d",$mm_a)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:16.