¿Cómo se puede obtener un archivo y ejecutarlo directamente mientras se dan argumentos?

¿Cómo se puede obtener un archivo y ejecutarlo directamente mientras se dan argumentos?

Quiero descargar un ejecutable y ejecutarlo en un solo paso, mientras proporciono argumentos al ejecutable.

Me las arreglé para descargar+ejecutar usando una tubería:

wget -O - http://xrl.us/cpanm | perl

Esto ejecuta el cpanmejecutable vía perl.

Ahora quiero agregar un argumento, digamos A:

wget -O - http://xrl.us/cpanm | perl A

Esto ya no funciona. Ahora estoy consiguiendo Cannot write to ‘-’ (Success)..

¿Cómo se puede hacer esto?

Respuesta1

Puedes ponerperlaargumentos del script después de programnamelos cuales, en este caso, está la entrada estándar ( -). Entonces creo que esto es lo que preguntas:

wget -O - http://xrl.us/cpanm | perl -- - A

o

wget -O - http://xrl.us/cpanm | perl -- - --help

Ver:página de manual de perlrunpara más detalles.

Nota:Desde la página del manual:

Un "--" señala el final de las opciones y deshabilita el procesamiento posterior de opciones. Cualquier argumento después de "--" se trata como nombre de archivo y argumento.

En otras palabras, --pone fin a laperlaargumentos. Después de eso, colocamos el nombre del archivo que contiene el script (en nuestro caso, esta es la entrada estándar que se indica con un -) y luego los argumentos del script.

información relacionada