跨平台的脚本

我使用Bash脚本将一个高度定制的JBoss版本部署到RHEL机器上。 这些脚本会根据正在创build的实例的名称等来更新端口绑定偏移量。

我们现在需要在Windows上运行相同的安装。

一种select是在Cygwin下运行Bash脚本,但是我想在沿着这条路线前探索其他选项。 脚本不是特别复杂,他们做了一些参数parsing,一点search和replace,以及大量的复制。

我可以将Ant看作是生成单一可靠的跨平台部署脚本的一种方法。 还有其他的select吗?

Python,PHP,Ruby,Perl等都在Windows和Linux下运行。

如果您使用ant,您可以使用脚本语言进行补充。 Groovy的antbuilder类非常适合这个,我认为jruby现在可以做到这一点。 你可以ant从常规或从antgroovy。 我做前者。 我也结束了使用JNA做象symlink,统计,chown,系统的本地调用,因为java的文件操作可能是bug和缺乏。 我从jruby项目中使用了一个名为jna-posix的库,因为它做了我想做的所有事情并处理跨平台问题。

如果你只是想使用你的bash脚本,你可能会考虑msysgit。 msys项目没有安装程序,所以安装它的最简单的方法是使用通过安装git for windows,它具有非常完整的msys / mingw环境。