Jump to content
Sign in to follow this  
Pepetops

Script que no acaba de funcionar

Recommended Posts

Hola a tod@s.

He creado un script en bash para que se ejecute desde el cron.

El problema que me encuentro es que al llegar a la línea donde tengo un doble comando tipo:

Comando1 && Comando2

Nunca se ejecuta y no se porqué.

Comando1 desde el terminal se ejecuta normalmente y por lo tanto el Comando2 debería poderse ejecutar normalmente, no?

Saludos y gracias por la atención

 

Enviado desde mi BV9600Pro mediante Tapatalk

 

 

Share this post


Link to post
Share on other sites

Cuando pidas ayuda procura dar la máxima información para que así sea más fácil ayudarte. En este caso si copias toda la instrucción condicional puede que alguien encuentre el motivo del fallo.

Usa el botón del editor de código <> para evitar que se mezcle con el texto normal. Así queda:

comando1 && comando2

 

Share this post


Link to post
Share on other sites
Cuando pidas ayuda procura dar la máxima información para que así sea más fácil ayudarte. En este caso si copias toda la instrucción condicional puede que alguien encuentre el motivo del fallo.
Usa el botón del editor de código para evitar que se mezcle con el texto normal. Así queda:
comando1 && comando2

 

La instrucción condicional es la que he puesto, no hay ningún if
Applications/calibre.app/Contents/MacOS/calibredb add -d *.epub && /bin/rm *.epub


Son las dos aplicaciones que deseo que se ejecuten, pero claro solo quiero borrar los epub si previamente se han cargado en calibre.
Me explico ahora?
Saludos

Enviado desde mi BV9600Pro mediante Tapatalk

Share this post


Link to post
Share on other sites

Acabo de probar tu instrucción desde Terminal y ha funcionado correctamente. Ha añadido dos ePub que tenia en una carpeta a Calibre y luego los ha borrado.

Aunque no tengo ni idea de Bash, ¿no será que no te has desplazado al directorio que contiene los ePub antes de ejecutar la instrucción?

Otra posibilidad es que dé error al intentar añadir un ePub repetido y por eso no se ejecute la segunda instrucción.

  • Me gusta 1

Share this post


Link to post
Share on other sites
Posted (edited)

Por cierto, viendo para que quieres usar ese script ¿sabes de la existencia de las Acciones de carpeta?

Puedes configurar una carpeta para que se ejecute un script cuando se le añadan archivos. Me parece más efectivo que ejecutar un script cada cierto tiempo, haya novedades o no. Creo que eso hace cron.

Ya puesto, mírate las posibilidades de Automator o de AppleScript. Si no necesitas la potencia del Bash, con cualquiera de las dos puede resultar más fácil crear simples acciones.

Edited by APB
  • Me gusta 1

Share this post


Link to post
Share on other sites
Por cierto, viendo para que quieres usar ese script ¿sabes de la existencia de las Acciones de carpeta?
Puedes configurar una carpeta para que se ejecute un script cuando se le añadan archivos. Me parece más efectivo que ejecutar un script cada cierto tiempo, haya novedades o no. Creo que eso hace cron.
Ya puesto, mírate las posibilidades de Automator o de AppleScript. Si no necesitas la potencia del Bash, con cualquiera de las dos puede resultar más fácil crear simples acciones.
Gracias, investigaré eso de Acciones de Carpeta. A ver, el script previamente a las acciones escritas aquí lo que hace es preparar el terreno, por lo que hace innecesario el chequear la carpeta antes y después de ejecutar el script.
Gracias, conozco la acción de Calibre de añadir libros automáticamente, pero es la App gráfica y yo uso en este caso las opciones de línea de comandos, consumen menos recursos y van más rápido, eso si, para este caso en concreto me obliga a borrar los epub añadidos. La opción -d pasa de los duplicados y los añade también.
Saludos

Enviado desde mi BV9600Pro mediante Tapatalk

Share this post


Link to post
Share on other sites
Posted (edited)
Hace 14 horas, Pepetops dijo:

Gracias, conozco la acción de Calibre de añadir libros automáticamente...

Cuando te comentaba:

Hace 22 horas, APB dijo:

Puedes configurar una carpeta para que se ejecute un script cuando se le añadan archivos...

Me refería a que puedes hacerlo con las Acciones de carpeta de las que hablaba en la línea anterior. Como no lo uso no conocía que Calibre tuviera una acción para añadir libros automáticamente.

 

Por ejemplo: Un acción de carpeta hecho con Applescript que ejecuta la instrucción que has puesto sería así:

on adding folder items to this_folder after receiving added_items
	set aaa to quoted form of POSIX path of this_folder
	do shell script "Applications/calibre.app/Contents/MacOS/calibredb add -d " & aaa & "*.epub && /bin/rm " & aaa & "*.epub"
end adding folder items to

Copiado en el Editor de Scripts, guardado en la carpeta ~/Library/Scripts/Folder Action Scripts de tu usuario y aplicado a una carpeta cualquiera, se ejecutará cada vez que dejes un archivo dentro de dicha carpeta.

Otra ventaja, si te interesara, es que la misma instrucción te da una lista con los archivos añadidos (added_items) por lo que se podrían añadir los nuevos a Calibre sin necesidad de borrar los viejos.

Edited by APB
  • Me gusta 1

Share this post


Link to post
Share on other sites
Me refería a que puedes hacerlo con las Acciones de carpeta de las que hablaba en la línea anterior. Como no lo uso no conocía que Calibre tuviera una acción para añadir libros automáticamente.
 
Por ejemplo: Un acción de carpeta hecho con Applescript que ejecuta la instrucción que has puesto sería así:
on adding folder items to this_folder after receiving added_itemsset aaa to quoted form of POSIX path of this_folderdo shell script "Applications/calibre.app/Contents/MacOS/calibredb add -d " & aaa & "*.epub && /bin/rm " & aaa & "*.epub"end adding folder items to

Copiado en el Editor de Scripts, guardado en la carpeta ~/Library/Scripts/Folder Action Scripts de tu usuario y aplicado a una carpeta cualquiera, se ejecutará cada vez que dejes un archivo dentro de dicha carpeta.

Gracias, lo probaré en cuanto pueda.
Un saludo y feliz puente

Enviado desde mi BV9600Pro mediante Tapatalk

Share this post


Link to post
Share on other sites

Bueno, como ya sospechaba, el problema ha desaparecido. Qué memoria la mía de no recordar como de encapsulado es cron!

Saludos y gracias por las nuevas ideas aportadas

 

 

 

Creo que ya he resuelto el mensaje al leer el mail que cron me había enviado. Parece ser que había olvidado de que los scripts bajo cron no conocen más paths que el que le pones tu, y me faltaba añadir donde estaba la biblioteca de calibre,cosa que fuera de cron no es necesario ya que se carga la que viene por defecto. Por eso en cron falla y fuera de él funciona.

He hecho el cambio y esperaré a mañana a ver si esta madrugada funcionan los cambios.

Saludos y buen puente

 

 

  • Me gusta 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.