1

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

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

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

有没有更适合这个应用程序的语言?

要求:

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

2 回答 2

2

Python 可以做所有这些事情:

  • 适用于所有平台(Mac、Linux、Windows 等)
    • 如果足够小,可以作为我的应用程序的一部分分发(如果需要,您可以使用 制作二进制文件cx_freeze
    • 几乎没有版本变化,所以 Ruby 出局了(Python 在版本变化方面非常静态)
    • *nix 目前仅适用,但最终将在 Windows 上运行(它预装在 Mac 上,并随几乎任何 Linux 发行版一起提供。二进制文件不需要解释器即可运行)
  • 可维护
    • 清晰的语法(Perl 已淘汰)(Python 非常容易阅读,但由您决定)
    • 模块化(如果我嗅探操作系统,我可以包含单独的操作系统特定代码)(模块只是 Python 中的文件)
  • 能够下载文件(未满足的依赖项)Urllib2负责处理,并且已预先安装)
  • 开源(是的)
于 2011-08-07T05:09:44.717 回答
0

蚂蚁会做你需要的。它独立于操作系统,允许编译和安装。

于 2011-08-07T05:04:58.513 回答