用于多服务器管理员的可移植脚本语言?

Aar*_*ron 11 ruby windows scripting programming-languages portable-applications

请注意:便携式在portableapps.com中,不是传统意义上的可用于多种体系结构或操作系统的语言.无论是谁创造了便携式这个词的用法,都应该受到打击.:)

我是一名DBA和sysadmin,主要用于运行SQL Server的Windows机器.我正在寻找一种不需要管理员访问或安装程序的Windows编程/脚本语言,除了将其扩展到文件夹之外不需要任何安装过程.我的目的是拥有一种可以自我标准化的自动化语言.

到目前为止,我一直在使用批处理文件和Unix shell的组合,使用来自UnxUtils的 sh.exe,但它远非完美的解决方案.

我评估了一些选项,他们都至少有一个严重的缺点或另一个.我非常喜欢开源或双重许可,但我更感兴趣的是找到合适的工具而不是其他任何东西.对依赖于Cygwin或Java的任何东西都不感兴趣,但是在这一点上,我会对需要.NET的东西感觉很好.

要求:

  • 可管理的足迹(1-100个文件,安装在30 MB以下)
  • 在Windows XP和Server(2003+)上运行
  • 没有安装程序(exe,msi)
  • 不依赖于JVM或Cygwin安装
  • 适用于外部管道,进程和文件
  • 支持MS SQL Server或ODBC连接

奖励积分:

  • 开源
  • 用于调用本机DLL中的函数的FFI
  • GUI支持(native或gtk,wx,fltk等)
  • Linux,AIX和/或OS X支持
  • 动态的,面向对象的和/或功能的,解释的或字节码编译的; 互动发展
  • 能够将脚本打包或编译成可执行文件

到目前为止,我已经尝试过:

  • Ruby:磁盘上148 MB,23000个文件
  • 便携式Python:磁盘54 MB,2800个文件
  • Strawberry Perl:磁盘上123 MB,3600个文件
  • REBOL:很好,除了封闭源代码,免费版本没有MSSQL或ODBC
  • Squeak Smalltalk:很棒,除了对脚本的支持不佳

Nor*_*sey 9

我劝你试试Lua.关于您的要求:

  • 占地面积小(56个源文件,150K以下编译)
  • 到处运行(仅使用ANSI C)
  • 无需安装人员; 你从源代码编译(还有一个"电池包含"包,我还没有探索过
  • 不需要JVM并且可以与任何ANSI C编译器一起使用,因此您可以使用Visual Studio进行编译,而不是使用Cygwin进行编译
  • 适用于外部进程和文件,但仅限于ANSI C支持的范围.如果popen提供了POSIX ,那么也支持.

而你的奖励积分:

  • 开源(MIT许可证)
  • FFI到C的设计和执行都非常出色 - 不像Tcl那么简单但负载更强大. 很多使用C比Python或Ruby更好的整合.
  • GUI支持是混合的,但wx小部件有很好的绑定.QT支持曾在那里,但我不知道它是否得到了维护.
  • 支持Linux
  • 语言/编译器功能:
    • 动态
    • 实用
    • 基于原型的对象和通过元方法的继承(您将希望在下面的书中看到示例
    • 西方最快的字节码编译器
    • 交互式读取 - 评估 - 打印循环; 动态加载新代码
  • 能够将脚本打包成可执行文件; 或者使用Luiz de Figueiredo srlua,或者我可以发送一个120行的Lua脚本,将Lua源转换为.c文件,您将其与应用程序和解释器链接以生成可执行文件.

额外奖励积分:


Bry*_*ley 3

Tclkit是一个单文件、独立的 Tcl/Tk 系统。我的mac版本大约是3.8兆。您可以获得几乎任何现代操作系统的版本。我随身携带一个拇指驱动器,里面有 Mac、Windows 和 Linux 二进制文件,这样我就可以在任何平台上运行我的脚本。无需安装,只需将一个文件复制到任何您想要的位置即可。

原始规范中唯一缺少的是开箱即​​用的 MS SQL Server / ODBC 支持。我知道人们使用 tcl 来实现这一点,但我认为你必须添加一个额外的库或其他东西。有关详细信息,请参阅MS SQL Server 上的 Tcl'ers wiki 条目。