#!/bin/sh # IMPORTANTE: Si quieres información de depuración (algo no funciona bien), # dale cualquier valor a la siguiente variable DEP= # Variables muy importantes dirscripts=${3/\/`basename $0`} titulo=`dcop kate kate-mainwindow\#1 caption` ruta=${titulo:5} ruta=${ruta/ */} fichero=${ruta/\/*\/} nombre=${fichero/.*} extension=${fichero/$nombre} ruta=${ruta/\/$fichero} # Información de depuración [ -n "$DEP" ] && echo "Dirscript: $dirscripts" > $ruta/mocka_eje.log [ -n "$DEP" ] && echo "Título : $titulo" >> $ruta/mocka_eje.log [ -n "$DEP" ] && echo "Ruta : $ruta" >> $ruta/mocka_eje.log [ -n "$DEP" ] && echo "Fichero : $fichero" >> $ruta/mocka_eje.log [ -n "$DEP" ] && echo "Nombre : $nombre" >> $ruta/mocka_eje.log [ -n "$DEP" ] && echo "Extensión: $extension" >> $ruta/mocka_eje.log # Rechazo ficheros que no son de mocka [ "$extension" != ".md" -a "$extension" != ".mi" ] && { [ -n "$DEP" ] && echo "Rechazado: [$extension] no es .md ni .mi" >> $ruta/mocka_eje.log exit 1 } # Rechazo si no existe el fichero ejecutable [ ! -x $ruta/$nombre ] && { [ -n "$DEP" ] && echo "Rechazado: no existe el ejecutable $ruta/$nombre" >> $ruta/mocka_eje.log exit 1 } # Rechazo también si no tengo instalado xterm (o el terminal que tú elijas) # Cuidado: no basta con que cambies 'xterm' por otro, verifica también # que acepte los parámetros que se le pasan en la última línea. terminal=`which xterm 2>/dev/null` [ ! -n "$terminal" -o ! -x "$terminal" ] && { [ -n "$DEP" ] && echo "Rechazado: no está instalado $terminal o no es ejecutable" >> $ruta/mocka_eje.log exit 1 } # Solicitud de parámetros: pulsar cancel si no queremos meter ninguno parametros=`kdialog --inputbox "Introduzca parámetros (cancelar para ninguno)" --title "Ejecutando $nombre"` # Ejecución en un terminal separado con espera: puedes cambiar el tipo de # letra o terminal editando esta línea para usar el terminal que prefieras [ -n "$DEP" ] && echo "Ejecutar : $terminal -T \"Salida de $nombre\" -e \"cd $ruta; ./$nombre $parametros; read a -p 'Pulse ENTER para cerrar esta ventana y continuar...'\"" >> $ruta/mocka_eje.log $terminal -T "Salida de $nombre" -e "cd $ruta; ./$nombre $parametros; read -p 'Pulse ENTER para cerrar esta ventana y continuar...' a"