2011-04-13 94 views
0

我想創建一個npm's(curl http://example.com/install.sh | sh)的安裝腳本,但它讓我問這個問題:我可以在perl中寫腳本嗎?據我所知,默認情況下perl默認安裝在至少ubuntu,RHEL & OS X上 - 所以我想知道在2011年,我能不能編寫shell並且仍然足夠通用於每個人?有第三個更好的選擇嗎?shell腳本與perl的安裝腳本 - perl的普遍程度如何?

這將針對用戶的開發盒,而不是階段或生產。

我特別想做的就是使用這個安裝腳本輕鬆地引導開發環境,而無需創建和維護包的開銷。該腳本將有4個步驟:

  1. 檢查,請確保安裝的git
  2. 使用git克隆一個回購協議CWD
  3. 拉下來,一個perl控制腳本保存到/ usr/bin中,使它可執行
  4. 添加一些環境變量(相關帖子:linux cross-distro environment variable modification via script?

就是這樣。我的想法是這樣簡單而通用,足以使用引導腳本而不是軟件包。我的目標受衆是用戶的Unix或Linux本地開發系統。

+0

誰是你的目標受衆? – Gabe 2011-04-13 05:29:58

回答

3

最好的選擇是簡單地使用現有的,充分潤滑和使用的(開發)工具鏈來編寫目標應用程序所用的語言。不這樣做會輕易地丟棄從生態環境中獲得的網絡效應他們。

  • C:GNU自動
  • 哈斯克爾:驚天動地
  • 的Perl:EU::MMM::BM::I

等等,等等

從Web安裝應預留方便將用戶的系統引導到開發環境中

請告訴你有關軟件的更多細節,以獲得較少的一般性建議。


編輯:迴應您的附錄。

我勸阻你從Web安裝程序。這不是引導安裝工具,這是軟件的簡單安裝,應該用例如軟件來完成。一個Module :: Build子類。

1

這裏的Perl的各個版本的列表:

https://www.socialtext.net/perl5/distributions

即使Perl不會在每一個有點晦澀難懂發行出貨它只是一個apt-get的(或其他)的路程。不過,由於安裝了各種版本的Perl,您可能會遇到問題。

+0

我只是想澄清,我不是說你不應該使用perl,只是不要太花哨! – 2011-04-13 22:01:36

3

我認爲perl已經足以讓你編寫你的安裝程序了。無論如何,殼牌還是非常笨拙。

您可能想要考慮將應用程序實際打包爲deb或rpm,或者甚至使用makeself而不是提供原始腳本。

+1

deb *和* rpm,聽起來像 – ysth 2011-04-13 05:48:17

+0

和/或視情況而定。 :) – 2011-04-13 06:07:07

-1

使用類似:

perl -E "$(wget -q -O - http://host/intall.pl)" 

您也可以使用

`cmd` 

代替

$(cmd) 

但無論如何,雙引號你的選擇。

+0

獲得便攜式lstat之類的東西,而不是GNU Vs POSIX VS BSD V等等......查看[perldoc.perl.org](http://perldoc.perl.org)中的所有核心功能和模塊。請注意,.pl擴展名不需要,只是在這裏添加上下文。確保httpd將其作爲靜態或文本/純文本格式。 – poisonbit 2011-04-13 21:35:41