跨平台安装脚本的语言

时间:2011-08-07 04:59:42

标签: cross-platform installscript

在编写安装脚本时,我很快发现我遇到了跨平台问题,而bash脚本很难维护。我决定寻找一种更加跨平台的更清洁的解决方案。

目标是让智能脚本嗅出用户系统的组件,并尽可能减少用户交互。话虽如此,我想到了这些语言:

  • Python-跨平台,以及许多其他程序依赖它,因此它可能已经存在
  • 我的应用程序的一部分需要Javascript- nodejs,但对于exec调用来说它有点笨拙

是否有更适合此应用的语言?

要求:

  • 适用于所有平台
    • 如果足够小,可以作为我的应用程序的一部分分发
    • 很少甚至没有版本变化,所以Ruby出来了
    • * nix仅适用于现在,但最终将在Windows上运行
  • 可维护
    • 语法清晰(Perl已经出局)
    • 模块化(如果我嗅探操作系统,我可以包含单独的特定于操作系统的代码)
  • 能够下载文件(未满足的依赖项)
  • 能够执行相对复杂的脚本编写任务
    • 测试使用过的HTTP端口
    • 读取和解析配置数据的文件
    • 检查权限和更改权限不足的目录
  • 开源

2 个答案:

答案 0 :(得分:2)

Python可以做所有这些事情:

  • 适用于所有平台(Mac,Linux,Windows等)
    • 如果足够小,可以作为我的应用程序的一部分进行分发(如果需要,您可以使用cx_freeze创建二进制文件)
    • 很少甚至没有版本变化,因此Ruby已经(在版本更改方面,Python非常静态)
    • * nix仅适用于现在,但最终将在Windows 上运行(它预装在Mac上,随附几乎任何Linux发行版。二进制文件不需要运行解释程序)
  • 可维护
    • 清晰的语法(Perl已经出局)(Python很容易阅读,但由您自行决定)
    • 模块化(如果我嗅探操作系统,我可以包含单独的操作系统专用代码)(模块只是Python中的文件)
  • 能够下载文件(未满足的依赖项)Urllib2负责处理,并预先安装)
  • 开源(是)

答案 1 :(得分:0)

Ant将满足您的需求。它独立于操作系统,允许编译和安装。

相关问题