0

在查看Cpanminus时,我看到一种安装方法如下:

curl -L https://cpanmin.us | perl - App::cpanminus

第一部分从 URL 下载一个可由 Perl 解释器解释的文件,然后将其通过管道传输到 Perl。不过,我无法弄清楚单破折号参数在做什么。

就此而言,我不完全确定第二个参数在做什么(为什么 Cpanminus 需要知道它自己的名字?),但至少它看起来不那么神秘。

4

1 回答 1

3

传递给的第一个非选项参数perl是要执行的文件的名称。-表示标准输入。因此,该命令已perl执行 的输出,并作为参数curl -L https://cpanmin.us传递。App::cpanminus

由于curl -L https://cpanmin.us返回一个独立的版本cpanm,整个命令有效地下载cpanm并使用它来安装cpanm(App::cpanminus 的一部分)。

换句话说,

curl -L https://cpanmin.us | perl - App::cpanminus

大致相同

curl -L https://cpanmin.us >self_contained_cpanm
perl self_contained_cpanm App::cpanminus
于 2017-09-25T22:02:27.093 回答