Home    Forum    Search    FAQ    Register    Log in


Post new topic  Reply to topic 
Page 1 of 1
 
 
Al Ejecutar Shell Script Desde Gambas No Toma Los Parametros Completos
Author Message
Reply with quote   Download Post  
Post Al Ejecutar Shell Script Desde Gambas No Toma Los Parametros Completos 
 
Hola, ando haciendo un sistema que lee  huellas desde un dispositivo UrU 4500 con una interfaz en gambas. El problema es que tengo un programa escrito en C que hace uso de la libreria "libfprint", y buenoel programa en C funciona bien cuando lo invoco desde la linea de comandos de PIDORA.

El problema surge cuando invoco el mismo programa desde gambas con "EXEC" o "SHELL" ya que si se invoca pero no me toma todos los argumentos como en la linea de comandos.

Ya he intentado varias notaciones,convertir el charset, hacer un shell script... y nada.  

¿¿Alguna idea???


A continuación muestro el código:
' gambas class file

Library "libfprint:0"

Private Extern fp_init() As Integer
Private Extern fp_exit()


Public Sub _new()

End

 
Public Sub Form_Open()
 Dim fecha As Variant
  Me.Center
 
  fecha = Format(Now, "dd/m/yy")
  lcdfecha.Text = fecha
  
  img_mostrar_scan.Hide
  
  reanudar_button2.Hide
 
End


Public Sub scanear_dedo_button_Click()


  label1.Text = "Coloque su dedo índice derecho en el lector" '
  scan_dedo_imagen()
 
 
End

Public hproc As Process
Public Sub scan_dedo_imagen()

Dim devlib As Integer ' resultado de existencia de libreria de escaneo de huella
  
  
  devlib = fp_init() ' deteccion de si tenemos libfprint instalada, para poder invocar el programa
    If (devlib < 0) Then
      Message.Error("Libreria de escaneo no instalada/detectada, favor revisar o reportar fallo")
      Return
    Else
      Print "Liberia encontrada, command line utils can be invocado"
    
      fp_exit()
    Endif
 
 
  hproc = Shell "/var/www/html/./pscript" For Input As "lectura"  
  'hproc = Exec ["/var/www/html/escanerdedo", "verify", "rojo.pgm"] For Input As "lectura"  'está es otra forma en que lo invoqué
  'hproc = Shell"/var/www/html/escanerdedo verify rojo.pgm" For Input As "lectura"  'está es otra forma en que lo invoqué
End

Public Sub lectura_Read() ' Rutina que muestra la ultima salido de la consola a partir de la ejecucion lectura en hproc
  
  Dim salida As String
  Line Input #Last, salida
  Print "-->" & salida
  If salida == 1 Then
    Message.Info("La Huella coincide")
        
    
    label1.Text = ""
    
  Endif
 
  If salida == 0 Then 'este if mantiene recursiva la ejecucion de el proceso hasta que se valide la huella
   Message.Info("La huella no coincide, vuelva a ponerla por favor")
   hproc = Shell "/var/www/html/./pscript" For Input As "lectura"
   'hproc = Exec ["/var/www/html/escanerdedo", "verify", "rojo.pgm"] For Input As "lectura"  'está es otra forma en que lo invoqué
   'hproc = Shell"/var/www/html/escanerdedo verify rojo.pgm" For Input As "lectura"  'está es otra forma en que lo invoqué
 Endif
End


Public Sub timReloj_Timer()

  lcdhora.Value = Hour(Now)
  lcdminutos.Value = Minute(Now)
  lcdsegundos.Value = Second(Now)

End


Public Sub reanudar_button2_Click()

   scan_dedo_imagen("ivanol")

End

 

 



 
Last edited by ivanolete on Thursday, 08 January 2015, 21:10; edited 1 time in total 
ivanolete - View user's profileSend private message 
Back to topPage bottom
Reply with quote   Download Post  
Post Re: Al Ejecutar Shell Script Desde Gambas No Toma Los Parametros Completos 
 
Olvidé comentar que en el shell script esta escritá la misma linea


/.../escanerdedo verify rojo.pgm


Cuando invoco el shell script funciona bien

pero cuando lo invoco como proceso desde gambas no toma el argumento rojo.pgm
 



 
ivanolete - View user's profileSend private message 
Back to topPage bottom
Reply with quote   Download Post  
Post Re: Al Ejecutar Shell Script Desde Gambas No Toma Los Parametros Completos 
 
Hola  ivanolete:

Citar:
rojo.pgm

¿donde esta ese archivo? Seguramente tienes que indicar la ruta donde este.
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - View user's profileSend private messageVisit poster's website 
Back to topPage bottom
Reply with quote   Download Post  
Post Re: Al Ejecutar Shell Script Desde Gambas No Toma Los Parametros Completos 
 
A parte de lo que jsbsan te indica, el path "/var/www/html/./pscrip" es erróneo. Seguramente funcione, pero el . es una referencia al directorio actual, es decir al propio /var/www/html
por tanto es redundante. Bastaría con "/var/www/html/pscrip"

Saludos.
 



 
shordi - View user's profileSend private message 
Back to topPage bottom
Reply with quote   Download Post  
Post Re: Al Ejecutar Shell Script Desde Gambas No Toma Los Parametros Completos 
 
Gracias por sus respuestas.

rojo.pgm es un argumento que cae como "char" en el proceso escrito en C.


Y sip, graciar por hacer notar la redundancia, eso lo puse como muestra de las  distintas formas en que escribí la ruta.


AHORA, LES COMENTO:

Acabo de experimentar que cuando soy super usuario en root y corro el shell script me trae la respuesta esperada, pero si invoco el mismo script como otro usuario me da el mismo comportamiento que con gambas. Ya le he concedido todos los permisos al proyecto y a los archivos involucrados, pero sigue sin darme el resultado esperado desde gambas.... ¿Alguna sugerencia con respecto a la ejecución de procesos con "EXEC" O "SHELL" sus permisos??

                                                                                  
 



 
ivanolete - View user's profileSend private message 
Back to topPage bottom
Reply with quote   Download Post  
Post Re: Al Ejecutar Shell Script Desde Gambas No Toma Los Parametros Completos 
 
Eso es complicado de contestar sin conocer todo el script, entorno y demás... pero se soluciona ejecutándolo con permisos de super usuario.

Prueba aquello de

Shell "echo clavedeusuario | sudo -S script y parametros"

Naturalmente el usuario cuya clave envíes con echo ha de ser uno con permiso de sudoer.

Saludos
 



 
shordi - View user's profileSend private message 
Back to topPage bottom
Reply with quote   Download Post  
Post Re: Al Ejecutar Shell Script Desde Gambas No Toma Los Parametros Completos 
 
He seguido tu sugerencia, Shordi.... Y ha funcionadoooooo  

GRACIAS

así deje el escript:


#!/bin/bash
echo raspberry<PIPE>sudo -S  /ruta_del_script/escanerdedo verify $1
 



Por el momento así lo dejaré , pero continuaré documentandome con  respecto a los permisos de usuario en el sistema.
 



 
ivanolete - View user's profileSend private message 
Back to topPage bottom
Display posts from previous:    
 
HideSimilar Topics
Topic Author Forum Replies Last Post
No new posts Ejecutar Comandos Shell Desde Gambas Como ... Elena General 6 Friday, 03 February 2012, 03:30 View latest post
Agamenon
No new posts ¿ Es Posible Ejecutar Un Script De Gambas... Shell General 2 Thursday, 31 July 2014, 20:54 View latest post
Shell
No new posts Ejecutar Script De Python En Gambas vuott General 7 Wednesday, 08 February 2017, 18:08 View latest post
vicr
No new posts Exec O Shell Al Ejecutar Un Script SH Me M... CanihoJR Controles/Librerías/Componentes 3 Saturday, 29 December 2018, 19:16 View latest post
CanihoJR
 

Post new topic  Reply to topic  Page 1 of 1
 

Users browsing this topic: 0 Registered, 0 Hidden and 1 Guest
Registered Users: None


 
Permissions List
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events



  

 

cron