- 論壇徽章:
- 0
|
比如要安裝全部Acme類的模塊, 有349個(gè), 手工一個(gè)個(gè)安裝會死人的, 就用perl來實(shí)現(xiàn)自動安裝.
第一步:
用命令perl -e 'use CPAN;CPAN::Shell->m("/Acme/");'來取得Acme相關(guān)的模塊列表,得到下面的輸出:
.................
Module Acme::Yoda (GREP/Acme-Yoda-0.02.tar.gz)
Module Acme::Your (RCLAMP/Acme-Your-0.01.tar.gz)
Module Acme::Your::Filter (RCLAMP/Acme-Your-0.01.tar.gz)
Module Acme::emcA (AUTRIJUS/Acme-emcA-0.10.tar.gz)
Module Acme::l33t (Acme::l33t)
Module Acme::landmine (DAVIDNICO/Acme/Acme-landmine-1.00.tar.gz)
Module Acme::please (DAVIDNICO/Acme/Acme-please-0.01.tar.gz)
Module Acme::speeed (MEMOWE/Acme-speeed-1.00.tar.gz)
Module Acme::use::strict::with::pride (NWCLARK/Acme-use-strict-with-pride-0.04.tar.gz)
Module Catalyst::Plugin::Acme::Scramble (ASHLEY/Catalyst-Plugin-Acme-Scramble-0.02.tar.gz)
349 items found
第二步:
用perl來處理輸出的結(jié)果:
perl -e 'use CPAN;CPAN::Shell->m("/Acme/");' | \
perl -nle '@a=split /\s+/;print "perl -MCPAN -e\"install $a[1]\"" if $_=~ /Acme/i'
得到類似下面的輸出結(jié)果:
............................................................
perl -MCPAN -e"install Acme::landmine"
perl -MCPAN -e"install Acme::please"
perl -MCPAN -e"install Acme::speeed"
perl -MCPAN -e"install Acme::use::strict::with::pride"
perl -MCPAN -e"install Catalyst::Plugin::Acme::Scramble"
最終的命令:
最后吧輸出的結(jié)果傳給shell執(zhí)行就可以了:
perl -e 'use CPAN;CPAN::Shell->m("/Acme/");' | \
perl -nle '@a=split /\s+/;print "perl -MCPAN -e\"install $a[1]\"" if $_=~ /Acme/i' | \
/bin/sh |
|