pasar parametros a ejecutables #!
El lun, 09-08-2004 a las 14:29, Alvaro Herrera escribió: [...] Si estuviera dentro de los limites de lo que puedes hacer, yo te sugeriria botar PHP y usar un lenguaje decente, como Perl o Python. PHP es un lenguaje sin esperanza. Por que dices esto ultimo Alvaro? O sea, no es que sea hincha de php, pero de ahi a decir que no tenga esperanza...no se como no saltaron algunos a lincharte :) Salu2
pasar parametros a ejecutables #!
No se si te servira: Este codigo acepta parámetros del tipo ./programa.php -f 20040801 -p ME , lo bueno es que no tienes que pasar los parámetros en orden ni todos obligatoriamente. #!/usr/bin/php -q ?php // Recibe Parametros array_shift($argv); while(count($argv) 0){ $opcion = array_shift($argv); switch($opcion){ case -p: $prod = array_shift($argv); break; case -c: $cuerpos = array_shift($argv); break; case -f: $fecha = array_shift($argv); break; case -?: ayuda(); exit; break; default: ayuda(); exit; break; } } // Parametros por defecto if(!isset($fecha)){ $fecha = date(Ymd,mktime(0,0,0,date(m),date(d)+1,date(Y))); } if(!isset($prod)){ $prod = ME; } ? Y este otro simplemente los saca por orden, osea ejecutando asi ./programa.php ME 20040801 #!/usr/bin/php -q ?php if($argc = 3){ $fecha = $argv[2]; }else{ $fecha = date(Ymd); } if($argc = 2){ $prod = $argv[1]; }else{ $prod = ME; } ? Saludos Jaime Lagos -Mensaje original- De: Edgard Pineda Leone. [mailto:[EMAIL PROTECTED] Enviado el: Lunes, 09 de Agosto de 2004 18:00 Para: Discusion de Linux en Castellano Asunto: Re: pasar parametros a ejecutables #! On Mon, 9 Aug 2004, Ricardo Mun~oz A. wrote: El lun, 09-08-2004 a las 16:38, Edgard Pineda Leone. escribió: On Mon, 9 Aug 2004, Ricardo Mun~oz A. wrote: [...] ahora si, te capte... si haces un 'man bash' luego buscas /#! aparece lo siguiente: If the program is a file beginning with #!, the remainder of the first line specifies an interpreter for the program. The shell executes the specified interpreter on operating systems that do not handle this exe- cutable format themselves. The arguments to the interpreter consist of a single optional argument following the interpreter name on the first line of the program, followed by the name of the program, followed by the command arguments, if any. donde dice _single optional argument_ creo se refiere a tu problema... por lo tanto el comentario de Alvaro de que PHP es un lenguaje sin esperanza fue totalmente innecesario... Cierto... :( tendré que parsear la salida simplemente... es facil pero no es limpio como me hubiera gustado. Gracias!!! Edgard Pineda. * Su mensaje fue revisado por el antivirus corporativo *
pasar parametros a ejecutables #!
usar -f implica hacer un -q y hasta las ver. 4.3.6 por lo menos existe Salu2 - Original Message - From: Alvaro Herrera [EMAIL PROTECTED] To: Discusion de Linux en Castellano linux@listas.inf.utfsm.cl Sent: Monday, August 09, 2004 2:29 PM Subject: Re: pasar parametros a ejecutables #! On Mon, Aug 09, 2004 at 01:00:16PM -0400, Edgard Pineda Leone. wrote: al ejecutarlo me sale: Error in argument 1, char 3: option not found Error in argument 1, char 4: option not found - Error in argument 1, char 3: option not found Usage: php [-q] [-h] [-s [-v] [-i] [-f file] | {file [args...]} El que escribio esto merece una pateadura (de partida le falta un ]). Que version de PHP es esta? El despliegue de mi PHP (4.3.8) es completamente diferente y bastante mas sano: Usage: php [options] [-f] file [args...] php [options] -r code [args...] php [options] [-- args...] Lo mas curioso es que en la lista de opciones no hay -q, y el -q no hace absolutamente nada (supongo que hacia algo en versiones anteriores y lo eliminaron). ... y un poco de experimentacion muestra que el comportamiento de los parametros pasados en el #! realmente es tremendamente erratico. Si estuviera dentro de los limites de lo que puedes hacer, yo te sugeriria botar PHP y usar un lenguaje decente, como Perl o Python. PHP es un lenguaje sin esperanza. -- Alvaro Herrera (alvherre[a]dcc.uchile.cl) Los románticos son seres que mueren de deseos de vida
pasar parametros a ejecutables #!
El lun, 09-08-2004 a las 13:00, Edgard Pineda Leone. escribió: [...] Deja de funcionar los parámetros... lo que me pasa es que solo el primer parametro pesca, y si pongo mas de uno ninguno funciona Incluso, si los pongo al reves: #!/usr/bin/php -q -c/home/proy/devel ?php print hola!!; ? al ejecutarlo me sale: Error in argument 1, char 3: option not found Error in argument 1, char 4: option not found - Error in argument 1, char 3: option not found Usage: php [-q] [-h] [-s [-v] [-i] [-f file] | {file [args...]} -q Quiet-mode. Suppress HTTP Header output. -s Display colour syntax highlighted source. -f file Parse file. Implies `-q' -v Version number -C Do not chdir to the script's directory -c path Look for php.ini file in this directory -a Run interactively -d foo[=bar] Define INI entry foo with value 'bar' -e Generate extended information for debugger/profiler -z file Load Zend extension file. -l Syntax check only (lint) -m Show compiled in modules -i PHP information -h This help :( snif esta última llamada si la hago directamente desde la linea de comando si funciona: /usr/bin/php -q -c /home/proy/devel prueba hola!! podrias probar con #!/usr/bin/php -q -c /home/proy/devel si ejecutas 'php -h' sale claramente que entre '-c' y el directorio que le sigue debe ir un espacio... -- Ricardo Mun~oz A. Usuario Linux #182825 (counter.li.org)
pasar parametros a ejecutables #!
On Mon, 9 Aug 2004, Ricardo Mun~oz A. wrote: El lun, 09-08-2004 a las 13:00, Edgard Pineda Leone. escribió: [...] Deja de funcionar los parámetros... lo que me pasa es que solo el primer parametro pesca, y si pongo mas de uno ninguno funciona Incluso, si los pongo al reves: #!/usr/bin/php -q -c/home/proy/devel ?php print hola!!; ? al ejecutarlo me sale: Error in argument 1, char 3: option not found Error in argument 1, char 4: option not found - Error in argument 1, char 3: option not found Usage: php [-q] [-h] [-s [-v] [-i] [-f file] | {file [args...]} -q Quiet-mode. Suppress HTTP Header output. -s Display colour syntax highlighted source. -f file Parse file. Implies `-q' -v Version number -C Do not chdir to the script's directory -c path Look for php.ini file in this directory -a Run interactively -d foo[=bar] Define INI entry foo with value 'bar' -e Generate extended information for debugger/profiler -z file Load Zend extension file. -l Syntax check only (lint) -m Show compiled in modules -i PHP information -h This help :( snif esta última llamada si la hago directamente desde la linea de comando si funciona: /usr/bin/php -q -c /home/proy/devel prueba hola!! podrias probar con #!/usr/bin/php -q -c /home/proy/devel Se nota que no leiste bien el email: poner un segundo parametro no resulta y sale el error que mencione, con cualquier combinacion que hagas. En fin, mi problema es que solo funciona con un parametro -algo y al poner mas parametros el ejecutable php no recibe ninguno... sé que es algo del shell seguramente pero no encuentro en Internet algo sobre eso o no encuentro las palabras adecuadas para buscar en Internet. :( si ejecutas 'php -h' sale claramente que entre '-c' y el directorio que le sigue debe ir un espacio... Justamente mencionaba en el primer email que el segundo espacio no funciona, sale error. Y si no lo pongo funciona sólo con un parametro. :( -- Ricardo Mun~oz A. Usuario Linux #182825 (counter.li.org)
pasar parametros a ejecutables #!
El lun, 09-08-2004 a las 16:38, Edgard Pineda Leone. escribió: On Mon, 9 Aug 2004, Ricardo Mun~oz A. wrote: [...] podrias probar con #!/usr/bin/php -q -c /home/proy/devel Se nota que no leiste bien el email: poner un segundo parametro no resulta y sale el error que mencione, con cualquier combinacion que hagas. En fin, mi problema es que solo funciona con un parametro -algo y al poner mas parametros el ejecutable php no recibe ninguno... sé que es algo del shell seguramente pero no encuentro en Internet algo sobre eso o no encuentro las palabras adecuadas para buscar en Internet. ahora si, te capte... si haces un 'man bash' luego buscas /#! aparece lo siguiente: If the program is a file beginning with #!, the remainder of the first line specifies an interpreter for the program. The shell executes the specified interpreter on operating systems that do not handle this exe- cutable format themselves. The arguments to the interpreter consist of a single optional argument following the interpreter name on the first line of the program, followed by the name of the program, followed by the command arguments, if any. donde dice _single optional argument_ creo se refiere a tu problema... por lo tanto el comentario de Alvaro de que PHP es un lenguaje sin esperanza fue totalmente innecesario... -- Ricardo Mun~oz A. Usuario Linux #182825 (counter.li.org)
pasar parametros a ejecutables #!
El lun, 09-08-2004 a las 16:32 -0400, Edgard Pineda Leone. escribió: On Mon, 9 Aug 2004, Alvaro Herrera wrote: [...] Si estuviera dentro de los limites de lo que puedes hacer, yo te sugeriria botar PHP y usar un lenguaje decente, como Perl o Python. PHP es un lenguaje sin esperanza. Si sé, pero estoy usando un programa hecho en php (getid3) para analizar media files y sacarles mas informacion. Simplemente lo quiero usar desde un script, sin tocar el código php de ese programa. No quiero desarrollar algo de cero. Eso es lo que estas haciendo. Por que no usas mp3info? $ apt-cache show mp3info [...] MP3Info has an interactive mode (using curses) and a command line mode. MP3Info can display ID3 tag information as well as various technical aspects of an MP3 file including playing time, bit-rate, sampling frequency and other attributes in a pre-defined or user-specifiable output format. -- Germán Poó Caamaño http://www.ubiobio.cl/~gpoo/
pasar parametros a ejecutables #!
On Mon, 9 Aug 2004, Germán Poó Caamaño wrote: El lun, 09-08-2004 a las 16:32 -0400, Edgard Pineda Leone. escribió: On Mon, 9 Aug 2004, Alvaro Herrera wrote: [...] Si estuviera dentro de los limites de lo que puedes hacer, yo te sugeriria botar PHP y usar un lenguaje decente, como Perl o Python. PHP es un lenguaje sin esperanza. Si sé, pero estoy usando un programa hecho en php (getid3) para analizar media files y sacarles mas informacion. Simplemente lo quiero usar desde un script, sin tocar el código php de ese programa. No quiero desarrollar algo de cero. Eso es lo que estas haciendo. Por que no usas mp3info? No es solo para mp3... mira la pagina http://getid3.sourceforge.net (reconoce varios formatos y me saca informacion bastante util y completa, como los mov, etc...). $ apt-cache show mp3info [...] MP3Info has an interactive mode (using curses) and a command line mode. MP3Info can display ID3 tag information as well as various technical aspects of an MP3 file including playing time, bit-rate, sampling frequency and other attributes in a pre-defined or user-specifiable output format. -- Germán Poó Caamaño http://www.ubiobio.cl/~gpoo/
pasar parametros a ejecutables #!
On Mon, Aug 09, 2004 at 04:32:11PM -0400, Edgard Pineda Leone. wrote: Si estuviera dentro de los limites de lo que puedes hacer, yo te sugeriria botar PHP y usar un lenguaje decente, como Perl o Python. PHP es un lenguaje sin esperanza. Si sé, pero estoy usando un programa hecho en php (getid3) para analizar media files y sacarles mas informacion. Simplemente lo quiero usar desde un script, sin tocar el código php de ese programa. No quiero desarrollar algo de cero. Hmm ... yo aca tengo instalado id3v2, un programa en C que hace manipulaciones de tags ID3 ... por si te sirve la idea :-) -- Alvaro Herrera (alvherre[a]dcc.uchile.cl) Si quieres ser creativo, aprende el arte de perder el tiempo
pasar parametros a ejecutables #!
On Mon, Aug 09, 2004 at 04:38:55PM -0400, Edgard Pineda Leone. wrote: Se nota que no leiste bien el email: poner un segundo parametro no resulta y sale el error que mencione, con cualquier combinacion que hagas. En fin, mi problema es que solo funciona con un parametro -algo y al poner mas parametros el ejecutable php no recibe ninguno... sé que es algo del shell seguramente pero no encuentro en Internet algo sobre eso o no encuentro las palabras adecuadas para buscar en Internet. No es del shell, porque otros programas reciben perfectamente multiples parametros. Cualquier script en Perl con -w -T, por ejemplo ... -- Alvaro Herrera (alvherre[a]dcc.uchile.cl) Si no sabes adonde vas, es muy probable que acabes en otra parte.
pasar parametros a ejecutables #!
On Mon, 9 Aug 2004, Ricardo Mun~oz A. wrote: El lun, 09-08-2004 a las 16:38, Edgard Pineda Leone. escribió: On Mon, 9 Aug 2004, Ricardo Mun~oz A. wrote: [...] ahora si, te capte... si haces un 'man bash' luego buscas /#! aparece lo siguiente: If the program is a file beginning with #!, the remainder of the first line specifies an interpreter for the program. The shell executes the specified interpreter on operating systems that do not handle this exe- cutable format themselves. The arguments to the interpreter consist of a single optional argument following the interpreter name on the first line of the program, followed by the name of the program, followed by the command arguments, if any. donde dice _single optional argument_ creo se refiere a tu problema... por lo tanto el comentario de Alvaro de que PHP es un lenguaje sin esperanza fue totalmente innecesario... Cierto... :( tendré que parsear la salida simplemente... es facil pero no es limpio como me hubiera gustado. Gracias!!! Edgard Pineda.
pasar parametros a ejecutables #!
Edgard Pineda wrote: [...] Si estuviera dentro de los limites de lo que puedes hacer, yo te sugeriria botar PHP y usar un lenguaje decente, como Perl o Python. PHP es un lenguaje sin esperanza. Si sé, pero estoy usando un programa hecho en php (getid3) para analizar media files y sacarles mas informacion. Simplemente lo quiero usar desde un script, sin tocar el código php de ese programa. No quiero desarrollar algo de cero. Que tal algo como: , | # perl -MCPAN -e 'install File::Headerinfo' | [... esperar un rato y presionar `yes' unas cuantas veces ...] | | $ perl -MFile::Headerinfo -MData::Dumper -e \ | 'print Dumper(File::Headerinfo-read(shift))' \ | /algun/archivo/de/video.mpg | $VAR1 = { | 'width' = 192, | 'filetype' = 'riff', | 'version' = undef, | 'duration' = '79.4039376', | 'height' = 144, | 'filesize' = '10802688', | 'datarate' = 1000, | 'vcodec' = 'IV50', | 'freq' = undef, | 'fps' = '12.9968365699789', | 'metadata' = undef | }; ` -- Cristian Gutierrez http://www.dcc.uchile.cl/~crgutier [EMAIL PROTECTED]Jabber:[EMAIL PROTECTED] Research is what I'm doing when I don't know what I'm doing. -- Wernher Von Braun