簡體   English   中英

Shell腳本可自動安裝cpan模塊

[英]Shell script to automate the installation of cpan modules

我正在編寫一個shell腳本來自動化cpan (綜合Perl存檔網絡)模塊的安裝。

#!/bin/bash
perl -MCPAN -e shell
o conf make_arg -I/"$PWD"
o conf make_install_arg -I/"$PWD"

第一個命令正在執行,並且進入cpan shell,但是未檢測到后面的命令。 我認為以后的命令沒有執行,因為它是一個不同的外殼。 任何線索對此表示贊賞。

謝謝。

您正在編寫bash腳本,而o conf ....不是bash命令。

您可以通過以下任一方式遠程控制CPAN Shell

  • 將所有輸入都提供到文件中,您可以從其中重定向標准輸入,即perl -MCPAN -e shell <my_commands.txt 請注意,如果CPAN Shell在每個命令之后清除輸入緩沖區,這將失敗(我不認為這樣做,但是可能)。

  • 寫一個期望腳本

  • 使用您喜歡的編程語言並使用Telnet協議來控制CPAN shell; 由於這是關於Perl的,因此可以使用Perl的Net::Telnet模塊。

  • 由於CPAN Shell是用Perl編寫的,所以我想您也可以使用CPAN模塊中已經存在的功能完全用Perl編寫整個內容。 我將從查看CPAN模塊的源代碼開始研究,以研究如何在Perl中處理命令(例如conf )。 畢竟,CPAN shell只是該模塊的功能之一,盡管這當然是人們通常使用的功能。

在此處使用bash 文件 您的腳本將如下所示:

#!/bin/bash
perl -MCPAN -e shell <<END_OF_CPAN_COMMANDS
o conf make_arg -I/"$PWD"
o conf make_install_arg -I/"$PWD"
END_OF_CPAN_COMMANDS

您可以在最后的END_OF_CPAN_COMMANDS之前添加更多命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM