[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Script bash se cierra al intentar ejecutarse



Buenas tardes listeros...

 Primero el contexto para esta consulta:

 Ando en un sistema Debian 7 Wheezy + IceWM, con 512 MB de RAM, 476 MB
 de swap y un HD de 10 GB, con la home en una partición separada.
 Aun lo estoy terminando de configurar... :)  y se que estoy rompiendo
 la regla de que la swap debe ser el doble de la RAM.

 Antes de todo, aviso que no se nada de programación, pero estoy
 intentando aprender modificando scripts existentes y observando el
 resultado de su ejecución.

 Tengo 2 scripts llamados por mi como "gxmessage-memfree" y  "memfree",
 pero inicialmente tomados desde
https://debianfacil.wordpress.com/2010/03/19/gxmessage/     y
http://geekland.eu/limpiar-nuestro-sistema/, respectivamente.

 Ambos tienen permisos de ejecución y sus contenidos, modificados por
 mi persona, son:

 gxmessage-memfree

 ############################################################################
 #!/bin/bash

 gxmessage -center -geometry 280x200 -title "Memfree" -buttons
 "Ok:1","Exit:2" -default "Exit" -font "Sans
 bold 12" -wrap "Cuidado: Usar sólo si la cantidad de memoria SWAP
 USADA es menor a la RAM USABLE.
 Si lo es, presione Ok.
 Si no lo es, presione Exit."

 case $? in

 1) x-terminal-emulator  -T \"memfree\" -e sh -c \"su-to-root -c
 '/usr/bin/memfree.sh'\";;
 2) ;;

 esac
 ############################################################################



 memfree.sh

 ############################################################################
 #!/bin/bash

 echo “Limpiando la caché~ “;

 sync ; echo 2 > /proc/sys/vm/drop_caches

 echo “Limpiando Swap~ “;

 swapoff -a && swapon -a
 ############################################################################

 Estoy asignando una entrada en el menú de aplicaciones de IceWM al
 script gxmessage-memfree, de forma que al dar clic sobre la misma, le
 de la opción al usuario de ejecutar el script memfree, solamente si la
 cantidad de swap usada es menor a la cantidad de RAM libre.

 La entrada en el menú esta escrita así:

 menu "Mantenimiento" folder {
 prog    "Memfree: Liberar memoria cache y swap"
 "/usr/share/pixmaps/memfree.xpm"
 /bin/sh -c "/home/tesistas/Descargas/scripts/gxmessage-memfree"
 }

 donde obviamente mi usuario es "tesistas".


 Bien, ahora el problema:

 Al hacer clic en la entrada del menú, aparece el mensaje en el
 escritorio, pero al dar clic en el "botón Ok", aparece una ventana de
 xterm y se cierra al segundo, sin que se ejecute el script memfree.

 Aunque sigo leyendo sobre bash y sh, aun no llego a comprender porque
 no se ejecuta el segundo script, cuando usando directamente desde
 menú, el script memfree si lo hace.

 Imagino que sera algo sencillo de resolver y tontería mía que no logro
 verlo. Así que acudo a vuestra sapiencia y paciencia para que me
 ayuden a dar con la solución.

 Saludos

 fdm


Reply to: