如何在给出参数的情况下直接获取文件并执行它?

如何在给出参数的情况下直接获取文件并执行它?

我想下载一个可执行文件并一步执行它,同时向该可执行文件提供参数。

我设法弄清楚如何使用管道来下载并执行:

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

这将cpanm通过 执行可执行文件perl

现在我想添加一个参数,例如A

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

这不再起作用。我现在得到的是Cannot write to ‘-’ (Success).

如何才能做到这一点?

答案1

你可以放perl脚本参数,programname在本例中后面是标准输入 ( -)。所以,我认为,这就是你要问的:

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

或者

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

看:perlrun 手册页更多细节。

笔记:从手册页:

“--” 表示选项结束并禁用进一步的选项处理。“--” 后面的任何参数都被视为文件名和参数。

换句话说,--终止perl参数。之后我们输入包含脚本的文件名(在我们的例子中,这是标准输入,用 表示-),然后输入脚本的参数。

相关内容