script no se ejecuta bien en rc.local [Solucionado]
Publicado: 15 Septiembre, 2011 - 12:05 script no se ejecuta bien en rc.local [Solucionado]
Hola, tengo la BIOS hecha cisco así que he escrito esto
#!/bin/bash
set $(date)
echo $4 > date
hora=$(cut -d 1,2,4,5 date)
rm date
case $2 in
jan) mes=01;;
....
dec) mes=12;;
esac
date $mes$3$hora$(($6+15))Le he dado permisos de ejecución y su propietario es root.
Si lo ejecuto normalmente funciona bien pero si lo incluyo en /etc/rc.local falla con el siguiente mensaje
error: date Invalid string '1508302011'por lo que deduzco que se "come" el primer parametro, o sea el mes.
¿Qué puede estar pasando?
- Inicie sesión o regístrese para enviar comentarios
- 370 lecturas


Perdón, es "cut -b"
y decir que otras órdenes lanzadas desde /etc/rc.local funcionan correctamente (fbset blabla, por ejemplo)
Gracias.
hola deberias ver como esta el locale pone a mi el date +%b me da sep tambien pero +%B me da septiembre asi que capas para otros mese no te ande, el cut inicial a mi no me anda :)
si le das man a date en los modificadores ya podes armar la fecha de una manera mas facil por ejemplo
date +%m-%d-%A--%H:%M:%S
y la variable la podes armar
set $(date)
tiempo=$(date +%m%d%H%M$(($6+15)))
date $tiempo
Gracias por contestar.
Si ejecuto esto en rc.local
#!/bin/bashfecha=$(date +%m%d%k%M)
a=2011
date $fecha$a
ya funciona bien.
Me quedo con la duda de porque el primero funciona si lo ejecuto desde consola con $sudo date.sh y no desde rc.local
Un saludo.
Tenías razón con lo del locale y el formato.
date-log
++date+ set Sun Sep 15 18:50:40 UTC 1996
+ case $2 in
++ cut -b 1,2,4,5 date
+ hora=1850
+ rm date
+ date 1518502011
+ date: invalid date '1518502011'
+ set +o xtrace
en consola
$datedom sep 15 19:03:04 UTC 1996
bien, hasta ahí lo entiendo
#echo $LANGes_ES.UTF-8
¿Qué entorno hay antes del login? ¿Cómo sé que variables y qué valores hay disponibles en ese momento? No hace falta que contestéis, creo que ya me apaño XDDD.
Gracias por la ayuda, lo marco solucionado.