Hola, me estoy iniciando en los shell script de Linux y no acabo de entender del todo el comportamiento de las variables en algunos casos. Bueno, más bien será que no soy capaz de conseguir que hagan lo que quiero :-) Veamos... tengo una variable definida así: FECHA='date +%d%m%y' Si más abajo en el script escribo: $FECHA Al ejecutar el script me da como resultado: 010306 es decir, da la fecha en formato numérico. Hasta aquí todo correcto. Quiero conseguir por ejemplo, un directorio que tenga como sufijo esa fecha, entonces lo que se me ocurre es poner en el script: mkdir xxxxx-$FECHA esperando como resultado un directorio llamado "xxxxx-010306", pero lo que consigo son dos directorios: "xxxxxx-date" y "+%d%m%y". O sea que traduce la variable FECHA por la cadena que tiene asignada, pero yo quiero que la traduzca por la ejecución del comando que representa dicha cadena... Supongo que eso es posible, me ha parecido ver cosas similares en scripts de ejemplo, pero no consigo que me funcione... ¿Qué estoy haciendo mal? Gracias. Saludos.
Debes asegurarte que las comillas no son de este modo, FECHA='date +%d%m%y' si no de este. FECHA=`date +%d%m%y` On 3/1/06, Miguel A. Casado <miguesfc@gmail.com> wrote:
Hola,
me estoy iniciando en los shell script de Linux y no acabo de entender del todo el comportamiento de las variables en algunos casos. Bueno, más bien será que no soy capaz de conseguir que hagan lo que quiero :-)
Veamos... tengo una variable definida así:
FECHA='date +%d%m%y'
Si más abajo en el script escribo:
$FECHA
Al ejecutar el script me da como resultado:
010306
es decir, da la fecha en formato numérico. Hasta aquí todo correcto.
Quiero conseguir por ejemplo, un directorio que tenga como sufijo esa fecha, entonces lo que se me ocurre es poner en el script:
mkdir xxxxx-$FECHA
esperando como resultado un directorio llamado "xxxxx-010306", pero lo que consigo son dos directorios: "xxxxxx-date" y "+%d%m%y". O sea que traduce la variable FECHA por la cadena que tiene asignada, pero yo quiero que la traduzca por la ejecución del comando que representa dicha cadena... Supongo que eso es posible, me ha parecido ver cosas similares en scripts de ejemplo, pero no consigo que me funcione... ¿Qué estoy haciendo mal?
Gracias. Saludos.
-- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
-- Gracias. Atentamente, Carlos Arturo Trujillo Silva
Debes asegurarte que las comillas no son de este modo,
FECHA='date +%d%m%y'
si no de este.
FECHA=`date +%d%m%y`
Si, así es. Además tiene incluso otroa posibilidad de sintaxis (yo la suelo utilizar porqué siempre me lio sin remedio con la comillas). FECHA=$(date +%Y) y luego, evidentemente mkdir directorio$FECHA Extraído de man bash (línia 1330 aprox): Command Substitution Command substitution allows the output of a command to replace the com- mand name. There are two forms: $(command) or `command` -- Salut, Jordi Espasa
2006/3/1, Miguel A. Casado <miguesfc@gmail.com>:
Hola,
me estoy iniciando en los shell script de Linux y no acabo de entender del todo el comportamiento de las variables en algunos casos. Bueno, más bien será que no soy capaz de conseguir que hagan lo que quiero :-)
Veamos... tengo una variable definida así:
FECHA='date +%d%m%y'
Proba asi: FECHA=`date +%d%m%y` Saludos sf.-
El día 1/03/06, Sebastian Ferro <sferro@gmail.com> escribió:
2006/3/1, Miguel A. Casado <miguesfc@gmail.com>:
Hola,
me estoy iniciando en los shell script de Linux y no acabo de entender del todo el comportamiento de las variables en algunos casos. Bueno, más bien será que no soy capaz de conseguir que hagan lo que quiero :-)
Veamos... tengo una variable definida así:
FECHA='date +%d%m%y'
Proba asi: FECHA=`date +%d%m%y`
Saludos sf.-
hola,
Yo me decanto por esta opcion : FECHA=`date +%D` DIA=`echo $FECHA | cut -f2 -d"/"` ANO=`echo $FECHA | cut -f3 -d"/"` MES=`echo $FECHA | cut -f1 -d"/ mkdir xxxxx-$DIA$MES$ANO Un saludo -- Usuario Linux número 396108
El Miércoles, 1 de Marzo de 2006 14:52, Pedro Maria Castellanos escribió:
El día 1/03/06, Sebastian Ferro <sferro@gmail.com> escribió:
2006/3/1, Miguel A. Casado <miguesfc@gmail.com>:
Proba asi: FECHA=`date +%d%m%y`
Saludos sf.-
hola,
Yo me decanto por esta opcion :
FECHA=`date +%D` DIA=`echo $FECHA | cut -f2 -d"/"` ANO=`echo $FECHA | cut -f3 -d"/"` MES=`echo $FECHA | cut -f1 -d"/
mkdir xxxxx-$DIA$MES$ANO
Gracias por las respuestas!! Era eso, el tipo de comillas. Sabía que debía ser una tontería, pero no daba con la tecla. Gracias por vuestra ayuda. Saludos.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-03-01 a las 15:07 +0100, Miguel A. Casado escribió:
Gracias por las respuestas!! Era eso, el tipo de comillas. Sabía que debía ser una tontería, pero no daba con la tecla.
Por cierto, suele preferirse el orden año-mes-dia (justo lo contrario que tu hiciste) al nombrar de esa forma directorios y ficheros porque al listarlos salen automáticamente ordenados cronoógicamnente ;-) - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFEBbsLtTMYHG2NR9URAjWCAKCTOD9MQJTX6ehCPJGT1d5b9O9PUgCgkTUM 2riO78NNDSP52YeLYD88P3k= =rrxq -----END PGP SIGNATURE-----
El 1/03/06, Carlos E. R. escribió:
Por cierto, suele preferirse el orden año-mes-dia (justo lo contrario que tu hiciste) al nombrar de esa forma directorios y ficheros porque al listarlos salen automáticamente ordenados cronoógicamnente ;-)
Además de ser un formato normalizado para la representación de fechas* internacionales, su uso es altamente recomendable. * http://www.w3.org/TR/NOTE-datetime Saludos, -- Camaleón
El Miércoles, 1 de Marzo de 2006 16:17, Carlos E. R. escribió:
Por cierto, suele preferirse el orden año-mes-dia (justo lo contrario que tu hiciste) al nombrar de esa forma directorios y ficheros porque al listarlos salen automáticamente ordenados cronoógicamnente ;-)
Tienes razón. Lo tendré en cuenta :-) Gracias.
participants (7)
-
Camaleón
-
Carlos E. R.
-
cartman
-
Jordi Espasa Clofent
-
Miguel A. Casado
-
Pedro Maria Castellanos
-
Sebastian Ferro