[phpBB Debug] PHP Warning: in file [ROOT]/includes/acm/acm_memory.php on line 146: Cannot use a scalar value as an array
[phpBB Debug] PHP Warning: in file [ROOT]/includes/acm/acm_memory.php on line 146: Cannot use a scalar value as an array
[phpBB Debug] PHP Warning: in file [ROOT]/includes/acm/acm_memory.php on line 146: Cannot use a scalar value as an array
Crear un ejecutable en bash [SOLUCIONADO] : Sistema
 Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Administración del sistema » Sistema


Nuevo tema Responder al tema
 [ 11 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Sab Mar 01, 2008 8:00 am
Mensajes: 11

Nota Publicado: Mar May 15, 2012 3:55 am 
Arriba  
Hola necesito una ayuda para hacer mas comodo una tarea. El comando en cuestion es este:

pk2cmd -P -M -F *.hex

Programo microcontroladores PIC y uso ese comando para grabar mi programa. Para ello abro la carpeta donde esta el archivo .hex (el firnware) y ejecuto en consola pk2cmd -P -M -F *.hex

El problema es cuando existe mas de un archivo .hex en el mismo directorio, se me ocurrio crear un ejecutable en /usr/bin/grabar-pic con el contenido:

------------------
pk2cmd -P -M -F
------------------

Mi idea es grabar con doble click el .hex asociandolo con el ejecutable "grabar-pic" pero no funciona. Me dice que no encuentra el .hex.

Uso LMDE con MATE.

Gracias.


Última edición por nestoriano el Jue May 17, 2012 12:23 am, editado 1 vez en total
 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1791

Nota Publicado: Mar May 15, 2012 6:03 am 
Arriba  
Tuve que buscar qué cuernos es MATE. Aparentemente, un fork de Gnome 2, que tiene nombres pintorescos como "Caja" para Nautilus, "Ojo de mate" para Gnome-search, etc. De todos modos, no es que sean mucho mejores los nombres de Gnome...(o de Kde, ya que estamos).

En fin, la cuestión es cómo hace el manejador de archivos para enviar un archivo a un script. Yo uso Rox-filer. Tengo la opción de agregar un script que funciona en el ítem "Enviar a".
Algo parecido en PCManFM. Abrir con-comando personalizado. Selecciono el script, que debe estar en el $PATH (/usr/local/bin en este caso), y listo. No sé cómo lo hace Nautilus.

En cuanto al script, sería algo así:

Código:
#!/bin/bash
#Esto es hay algún espacio en blanco en el nombre de archivo o directorio
IFS=$'\x0A'$'\x0D'

archivo=`echo $1`
pk2cmd -P -M -F "$archivo"
exit


O directamente:

Código:
#!/bin/bash
IFS=$'\x0A'$'\x0D'
pk2cmd -P -M -F "$1"
exit




A eso se le daría permisos de ejecución (chmod u+x), y debería guardárselo en el algún lugar que esté configurado como path de ejecutables (/usr/local/bin es la primera opción).

El resto, supongo que depende en buena medida del File-Manager que el script funcione o no. Esto, suponiendo que quieres hacerlo con un click. Desde terminal es más simple, utilizando parámetros, del tipo: script archivo.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Sab Mar 01, 2008 8:00 am
Mensajes: 11

Nota Publicado: Mar May 15, 2012 7:41 am 
Arriba  
Hola neurus gracias por responder. El primer script me funcionó perfectamente. Lo dejé en /usr/bin y le di permisos con chmod +x. Para dejarlo como ejecutable por defecto lo hice desde propiedad del archivo, abrir con....

Hace como 5 meses que uso el escritorio MATE pero sigo escribiendo en consola sudo gedit... gksu nautilus.... El comando correcto es "sudo pluma" y "gksu caja"... 5 meses y no me acostumbro todavia.

Aca en Argentina está haciendo frío asi que una mano la tengo guardado en el bolsillo y la otra en el mouse. Gracias a este script puedo programar los micros con una sola mano :D

El tema ya se puede dar por solucionado. Gracias!

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Lun Abr 30, 2012 1:42 pm
Mensajes: 20

Nota Publicado: Mar May 15, 2012 11:09 am 
Arriba  
Si se ha quedado solucionado, edita tu post y en el "asunto" añade SOLUCIONADO, si no los moderadores se enfadarán y entrarán en tu ordenador para hacerte un "visudo"...y todo lo demás es historia :D

Graaaacias.

_________________
...al principio sólo era la línea de comandos...

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1791

Nota Publicado: Mar May 15, 2012 3:57 pm 
Arriba  
nestoriano escribió:
Hace como 5 meses que uso el escritorio MATE pero sigo escribiendo en consola sudo gedit... gksu nautilus.... El comando correcto es "sudo pluma" y "gksu caja"... 5 meses y no me acostumbro todavia.


Eso tiene una solución tediosa, pero simple: entrar como root al directorio /usr/bin/ y empezar a enlazar:

ln -s caja nautilus
ln -s pluma gedit (¡Pluma! ¡Están locos!)
etc.

 Perfil  

Desconectado
Forista Mayor
Forista Mayor
Avatar de Usuario

Registrado: Lun Sep 26, 2011 2:01 am
Mensajes: 691
Ubicación: Mexico, DF

Nota Publicado: Jue May 17, 2012 2:51 am 
Arriba  
Lo curioso es que MATE es un fork argentino (fork argentino de un proyecto mexicano, que mescolanza...).
No sabia que se podian hacer enlaces simbolicos asi, lo probare.
Saludos.
Charlie

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Sab Mar 01, 2008 8:00 am
Mensajes: 11

Nota Publicado: Mar Jul 10, 2012 1:51 am 
Arriba  
Hola vuelvo para hacer una consulta mas. He creado el ejecutable que habia pedido y queria saber si es posible que tras ejecutar el comando desde otro lugar que no sea la consola, que se abra la terminal mostrandome el progreso. Cuando ejecuto el comando desde la consola me aparece esto.

Código:
mint13@pc ~/Dropbox $ grabar-pic sec.hex
Auto-Detect: Found part PIC12F675.

PICkit 2 Program Report
9-7-2012, 20:25:28
Device Type: PIC12F675

Program Succeeded.

Operation Succeeded
mint13@pc ~/Dropbox $


Ya tengo acomodado mi entorno para ejecutar el archivo "sec.hex" con el comando "grabar-pic" y funciona pero no puedo ver el progreso que la consola si me muestra.

El contenido del ejecutable es
Código:
#!/bin/bash
#Esto es hay algún espacio en blanco en el nombre de archivo o directorio
IFS=$'\x0A'$'\x0D'

archivo=`echo $1`
pk2cmd -P -M -F"$archivo"
exit


Lo que quiero es que tras ejecutar el comando con doble click u otra forma, me abra una ventana o terminal y con resultado durante un tiempo y se cierre solo.

Gracias.

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1791

Nota Publicado: Mar Jul 10, 2012 4:21 am 
Arriba  
Supongo que bastará asociar los archivos .hex al comando gnome-terminal -e grabar-pic.

Y, si no, queda hacerlo con zenity.

El comando sería algo así:

Código:
zenity --timeout=2 --info --text="`pk2cmd -P -M -F $archivo`"


Una tercera posibilidad, tal vez más prolija, es incorporar una función:

Código:
function grabar(){
 pk2cmd -P -M -F "$archivo"
}

zenity --timeout=2 --info --text="`grabar`"

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Sab Mar 01, 2008 8:00 am
Mensajes: 11

Nota Publicado: Mié Jul 11, 2012 7:52 am 
Arriba  
Gracias por el comando, funciona tal como lo quería.
Muchas gracias.

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1791

Nota Publicado: Mié Jul 11, 2012 6:39 pm 
Arriba  
¿Cuál comando?

Por otra parte, si modificas el script dejará de funcionar en consola y funcionará sólo en GUI. A menos que armes un script para cada cosa o, más elegante, determines si el script fue llamado desde GUI o desde terminal.

Para saberlo: cat /proc/$PPID/cmdline . Luego es cuestión de usar un condicional, y ejecutar una cosa u otra.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Sab Mar 01, 2008 8:00 am
Mensajes: 11

Nota Publicado: Jue Jul 12, 2012 2:49 am 
Arriba  
Hice la modificacion al ejecutable /usr/local/bin/grabar-pic con el contenido

Código:
#!/bin/bash
#Esto es hay algún espacio en blanco en el nombre de archivo o directorio
IFS=$'\x0A'$'\x0D'

archivo=`echo $1`
zenity --timeout=2 --info --text="`pk2cmd -P -M -F$archivo`"
exit


Para ejecutar de forma grafica uso el ejecutable grabar-pic y para ejecutar desde consola usare el comando original pk2cmd. Funciona todo de diez.

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 11 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
crear una carpeta en multiples directorios- script bash - SOLUCIONADO -

en Programación

es175ed

14

10945

Mar Ago 07, 2012 3:24 pm

es175ed Ver último mensaje

Programa en bash-Solucionado

en Programación

riquelme

12

2560

Mar Feb 07, 2012 8:20 pm

doc Ver último mensaje

Duda bash script (SOLUCIONADO)

en Programación

Bodegas

9

1889

Mar Abr 05, 2011 9:50 pm

hipersayan_x Ver último mensaje

duda intruccion de bash(solucionado)

en Programación

skuad

3

679

Dom Ene 20, 2013 1:15 am

Snark1994 Ver último mensaje

Ayuda con script en bash [Solucionado]

en Programación

ramonovski

5

1176

Jue Feb 16, 2012 7:35 am

ramonovski Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO