pasar parametros a ejecutables #!
JLAGOS en mercurio.cl
JLAGOS en mercurio.cl
Mar Ago 10 10:31:32 CLT 2004
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:epineda en cec.uchile.cl]
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
*****************************************************
Más información sobre la lista de distribución Linux