我真的很笨,但我没有find正确的search关键字来获得谷歌有用的东西。
问题:我们正在开发symfony1和symfony2应用程序(php)。 我们正在开发Windows机器,而我们的分期和生产服务器是Linux。 我们得到了一些由linux上的shell脚本完成的任务。 这些任务包括: – 移动文件和文件夹(例如临时文件夹上的testing文件) – 设置文件夹权限 – 运行各种命令
现在,shell脚本只能在linux服务器上执行,因为它们不能在windows机器上工作。 我们希望能够运行一个脚本,并根据环境执行正确的任务。
这个任务select哪种语言? 我听说了有关Python的好东西,但不知道它是否合适。 我知道一些Perl,但不认为这是一个好的工具。 也许有这样的语言是专为这样的问题?
有许多用于系统pipe理任务的跨平台语言。 Perl,Python和Ruby都是有效的select。
但是这些语言将无法自动地将神奇的Linux内容翻译成最接近Windows的东西。 在Windows和Linux上设置权限是不同的。 您将不得不检测操作系统并为该系统调用正确的适当function。
这个任务select哪种语言?
select您已经熟悉的跨平台语言。 如果你对任何东西都不太熟悉,选一个看上去很酷的东西。
由于您正在开发PHP应用程序,因此您可以随时随地安装PHP CLI。 既然你已经在使用PHP,你已经熟悉它了。 虽然很多人可能会认为PHP很糟糕,但是你可以把事情做好,而且你已经在使用它了。
你是说这个问题是你在Windows上开发的,但是在Linux上部署,并且你想在两者上运行脚本? 我想你会发现总是有一些怪癖,除非在脚本中有一些与#ifdef相当的东西来判断它是否在Windows和Linux上运行,因为会有目录结构的差异等等。 有没有一个原因,你不能在Linux系统上开发,或虚拟化Windows系统上的Linux系统,所以你正在build立在同一个平台上?
你可以得到Windows的Python本地运行。 如果您使用的是以UNIX为中心的脚本语言来执行某些操作(如Bash),则可以在Windows下安装cygwin,以便在其中运行POSIX环境。
就我个人而言,我会虚拟化一个Linux系统,并节省一些移植的怪癖和头痛。 如果您要求在服务器上运行CRON的脚本,请安装Cygwin并在Bash中编写脚本。
好的答案:移动到桌面/笔记本电脑上的Linux。 您应该在相同的平台上开发应用程序。
Hack-it-together-and-it-may-half-work的答案是:在你的开发机器上安装cygwin ,你就可以运行shell脚本。