pasar parametros a ejecutables #!

2004-08-10 Por tema Luis Eduardo Vivero Peña
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 #!

2004-08-10 Por tema [EMAIL PROTECTED]

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 #!

2004-08-09 Por tema Alexander Gajardo
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 #!

2004-08-09 Por tema Ricardo Mun~oz A.
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 #!

2004-08-09 Por tema Edgard Pineda Leone.
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 #!

2004-08-09 Por tema Ricardo Mun~oz A.
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 #!

2004-08-09 Por tema Germán Poó Caamaño
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 #!

2004-08-09 Por tema Edgard Pineda Leone.
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 #!

2004-08-09 Por tema Alvaro Herrera
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 #!

2004-08-09 Por tema Alvaro Herrera
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 #!

2004-08-09 Por tema Edgard Pineda Leone.
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 #!

2004-08-09 Por tema Cristian Gutierrez
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