La Web del Programador: Comunidad de Programadores
 
    Pregunta:  14711 - BASH DE LINUX
Autor:  Daniel Basto Rivero
Hola, hace ya algun tiempo uso Linux profesionalmente, solo que hasta ahora aun no he dado con la forma de tomar la salida estandar de un comando y asignarselo a una variable, basicamente lo que quiero hacer es un script bash que tome la fecha de dia y me genere un tar con esa fecha

#!/bin/sh
#fecha = '|date +%Y_%m_%d '
solexp 'tcp proli3m 1313' rbasto rbasto PVDESPRO
gzip ADM1_PVDESPRO.dat
mv ADM1_PVDESPRO.dat.gz pvdespro$1.dat.gz
#fecha = 'UNA BOMBA'
#echo $fecha

Este es el comando, como ven, solo necesito asignar la fecha a la variable fecha, el comando date me devuelve la fecha pero no se la puedo asignar, por el momento lo he resuelto escribiendo yo en la linea de comando la fecha como un argumento, pero seria ideal que lo tome solo asi lo puedo poner en un cron y que trabaje automaticamente.

Bueno, si alguien sabe y me puede hacer el favor de informarme.

Atte. Tronxx

  Respuesta:  Jorge García
Aqui donde trabajo tenemos plataformas AIX pero no tenemos LINUX en escencia deberia funcionar de pronto estas escribiendo mal el comando, deberia ser asi:

fecha=`date "+%Y%m%d"`
echo $fecha

Mira que lo probe y lo que resultó:
$ fecha=`date "+%Y%m%d"`
$ echo $fecha
20040616
$

De pronto lo que tu quieres con el comando es especificar que el archivo es de una fecha que se genere asi:

mv ADM1_PVDESPRO.dat.gz pvdespro$fecha.dat.gz , esto tambien lo probé y resultó:

$ echo $fecha
20040616
$ mv ADM1_PVDESPRO.dat.gz pvdespro$fecha.dat.gz
$ ls -lrt *gz
-rw-r--r-- 1 gcopen staff 1 Jun 16 08:15 pvdespro20040616.dat.gz
$

Espero que te sirva

Atte

JEGP

  Respuesta:  Adrian
Mira yo hice asi y anduvo, no se si es exactamente lo que pedis vos

FECHA=`date`
echo $FECHA

no se si tendra que ver las mayusculas o los apostrofos que encierran a date

Espero que te sirva, suerte