[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: