我正在寻找适用于 Windows、Linux、MacOS X 的跨平台脚本(语言)。
我厌倦了 .bat/bash 。
我想做一些事情,例如,在自动登录时锁定工作站''(我在 X-Window 中有这个,但解决方案非常难看;现在,我希望在 MS Windows 上这样,而不是那么难看:-)) .
通常:自动执行任务。
还是使用 Windows Scripting Host 会更好?
PowerShell 也浮现在我的脑海中,但这似乎只适用于我的口味。
Python、Ruby、(Java?)等语言可以与 WSH 交互(优雅吗?明智?)?
像 DBUS、DCOM 之类的东西也会作为图片的一部分出现在脑海中。
目前我混合使用 Java、.bat、bash、Ruby、Scala; Excel的一些VBA。有时会变得很丑。
我想要一个跨平台的通用解决方案,其中包含/使用接近操作系统特定的 ,,native'' 部分。就像例如Ruby 驱动一些特定于 Windows 的东西(只是猜测)。
你用什么?
TIA
最佳答案
我是 Lua 的忠实粉丝:
语法有点类似于 Pascal,并且在脚本中运行良好。
卓越的功率重量比。精湛的工程。非常好的设计。
使用 ANSI C 编译器非常可移植到任何平台。
通过 wxLua 和其他绑定(bind)支持 GUI
一些支持隐藏常见任务中的操作系统差异,例如 Lua 文件系统插件
核心系统和库非常简单,您可以了解所有您正在使用的内容,但与 bash/bat 相比仍然具有出色的优势。表现力堪比 Python 或 Ruby。
您不会对库和框架感到不知所措,这可能是一个优点或一个缺点。
有一本优秀的书:Roberto Ierusalimschy 的 Programming in Lua ;你可以得到previous edition free online .
性能优于 tcl、perl、python、ruby
为了在 x86 硬件上获得更快的性能,有 LuaJIT。
最后,这是王牌:如果您遇到任何特定于平台的问题,编写特定于平台的 C 代码并将其加载到动态的 Lua 脚本。 Lua 在设计时就考虑到了这个任务,并且做得非常好。您还可以轻松地使用 C 来提高性能(例如,计算 MD5 校验和)。
在过去的 3 到 5 年中,我一直在逐步将脚本从 bash/ksh/awk/sed/grep/perl 迁移到 Lua。我对结果非常很满意。
关于windows - 适用于 Windows、Linux、MacOS X 的跨平台脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637214/