Hola a todos.
Tengo un problema con el siguiente script (prueba.sh):
#!/bin/sh
export idia=`date +%d`
export imes=`date +%m`
export iyear=`date +%y`
export memo=`date +%M%H%d%S`
echo ' Fecha: ' $idia $imes $iyear
echo 'Semilla: ' $memo
## EOF ##
Cuando copio las lineas en la consola sale bien, pero cuando ejecuto el script (sh prueba.sh) me sale algo raro:
07cha: 25
Semilla: 56105226
Por qué puede ser. Otra duda. Las variables idia, imes, iyear y memo las podré usar más adelante o sólo tienen validad mientras se ejecuta el script.
Gracias por todo.

Formato DOS del fichero
Me parece que el script lo tienes en formato DOS, echa un vistazo a esta respuesta.
Sólo las podrás usar en el script y en los procesos que se lancen desde ese script (para esto último es el export), pero una vez finalice el script no las tendrás disponibles. Es decir el export sólo te sirve para los procesos hijos pero no para el padre. Si quieres tenerlas disponibles en la shell aunque el script haya finalizado tendrás que lanzarlo así
Fijate que entre el . y la / de la ruta hay un espacio. Si lo ejecutas así cuando termine mi_script y te devuelva al prompt de la shell prueba a ejecutar echo $memo te debería devolver el valor correcto. Repito, no te equivoques con el punto,
no es lo mismo que
Por supuesto cuando cierres esa shell también desaparecerán las variables.
Lectura obligada:
Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado
Problema resuelto
Muchas gracias José Luis, muy buena la explicación (te lo has currado).
Ahora me funciona perfectamente.
Un saludo