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 cpanm
ejecutable 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 programname
los 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.