Как можно получить файл с помощью wget и выполнить его напрямую, указав аргументы?

Как можно получить файл с помощью wget и выполнить его напрямую, указав аргументы?

Я хочу загрузить исполняемый файл и выполнить его за один шаг, указав аргументы для исполняемого файла.

Мне удалось разобраться, как загрузить+выполнить с помощью конвейера:

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

Это запускает cpanmисполняемый файл через perl.

Теперь я хочу добавить аргумент, скажем A:

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

Это больше не работает. Теперь я получаю Cannot write to ‘-’ (Success)..

Как это может быть сделано?

решение1

Вы можете положитьперларгументы скрипта, после programnameкоторых в данном случае идет стандартный ввод ( -). Так что, я думаю, это то, о чем вы спрашиваете:

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

или

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

Видеть:страница руководства perlrunБольше подробностей.

Примечание:Из страницы руководства:

"--" означает конец опций и отключает дальнейшую обработку опций. Любые аргументы после "--" рассматриваются как имена файлов и аргументы.

Другими словами, --прекращаетперларгументы. После этого мы указываем имя файла, содержащего скрипт (в нашем случае это стандартный ввод, который обозначен как -), а затем аргументы скрипта.

Связанный контент