Script que sirve al ejecutarlo yo, y no al ejecutarlo cron

Publicado en 'GNU/Linux' por edmret, 10 Dic 2008.





  1. edmret

    edmret Miembro nuevo

    Registro:
    10 Dic 2008
    Mensajes:
    1
    Likes:
    0




    Que hay, de hecho es mi primera vez en el foro y veo que esta padrisimo, espero estar más seguido por aka (ayudandolos y no pidiendo su ayuda como hoy), la razón es que tengo un script, lo curioso es que si yo lo ejecuto como root desde consola si hace lo que tiene que hacer, pero lo programo con el cron, y no hace todo, lo primero de lo que me percate es que si uso una variable global no la toma en cuenta, ya que intente diseccionando esa variable a un archivo y ma sale el archivo vacio, pero si ejecuto yo el script si me muestra la variable global, luego tengo cepstral para convertir audios (s lo que se supone que tiene que hacer swift), pero nuevamente lo hace cron y solo hace la parte de eliminarme los txt y no me crea que wav tal y como se lo ordene, pero o sorpresa, si lo ejecuto yo directamente si me los genera, ya no se que hacer, ya puse la variable en /etc/profile y de hecho recibia dos parametros para saber en que carpeta almacenarlos exactamente pero me arte y se los quite y aun asi no sirve, la verdad no entiendo la razon este es el script ojala y puedan ayudarme :pls::

    #!/bin/sh
    # VOXGEN_HOME es mi variable global
    #y se refiere a /opt/lampp/htdocs/voz

    #el parametro 1 es una carpeta contenida dentro de VOXGEN_HOME

    #el parametro 2 es una carpeta contenida dentro del parametro 1

    #todos los archivos con extension txt los listo en otro llamdo col
    (ls $VOXGEN_HOME/$1/$2 | grep .txt > $VOXGEN_HOME/$1/$2/col)


    #aki comparo si existen archivos realmente en la carpeta y me extrae el primer renglon(primer archivo)
    HAY=0
    while read LINEA
    do
    AR=$VOXGEN_HOME/$1/$2/$LINEA
    HAY=1
    break
    done < $VOXGEN_HOME/$1/$2/col

    #si no hubo ningun archivo se termina el programa
    if [ $HAY = 0 ]
    then
    exit 0
    fi
    #este es el comando encargado de llamar al TTS
    (swift -n miguel -p speech/rate=140 -p tts/text-encoding="iso-8859-1" -f $AR -o ${AR/".txt"/".wav"})
    (rm $AR)
    #despues de borrar el txt convierte el wav a mp3
    (lame ${AR/".txt"/".wav"} ${AR/".txt"/".mp3"})
    (rm ${AR/".txt"/".wav"})
    (chmod 777 ${AR/".txt"/".mp3"})

    #ejecuta otra vez el script para seguir con el siguiente
    (sh $VOXGEN_HOME/script.sh $1 $2)