什么脚本(如.bat)可以在windows,mac和linux上运行

时间:2011-11-16 18:50:50

标签: windows linux macos batch-file cmd

我有一个蝙蝠脚本,我想在windows / Mac / linux上工作,但我读.bat仅适用于Windows。如何使这个脚本在Mac和Linux上运行,或者我可以编写哪种类型的脚本可以在所有3上运行。

7 个答案:

答案 0 :(得分:3)

如果你不想升级到像C这样的语言,我会建议Python作为一种多平台脚本语言。它易于学习,并具有许多通用的多平台库和函数。

您需要在Windows上安装它,也可能在OS X上安装它。但这在任何方面都不难。

答案 1 :(得分:3)

没有这样的野兽。 Windows不支持Mac / Linux使用的unix样式shell脚本,并且Mac / Linux没有支持.bat文件所需的command.com/cmd.exe。

有办法假装这个,比如在Mac / linux上运行Wine,在Windows上运行cygwin,但那是另一个蜡烛。

答案 2 :(得分:2)

在没有在其中一个平台上安装内容的情况下,没有一种shell脚本语言可用于所有这三种语言。在Windows的情况下,安装像Linux和OSX上可用的Bash这样的东西是不太有用的,因为它永远不会像在OSX和Linux上那样无法与Windows集成,并且永远无法做到集成为.bat或PowerShell文件的所有内容都可以。

就个人而言,当我需要跨平台脚本时,我会找到Python

答案 3 :(得分:2)

  1. 的Python
  2. Windows上的Bash + MSYS
  3. Groovy / Beanshell / Javascript ...以及相应的口译员

答案 4 :(得分:1)

.bat脚本只适用于Windows。我会保留你用于windows的bat脚本,并创建一个专门用于linux和osx的bash脚本。

请不要让我安装cygwin工具只是为了运行脚本。

答案 5 :(得分:0)

你可以写一个批处理文件,让它从windows上的cmd解释,然后在linux上解释

但没有太多共同的语法,因此您将被迫从该点运行特定于操作系统的脚本

答案 6 :(得分:0)

如果您对JavaScript感到满意,可以在每个平台上安装Node.js,然后write a command line tool并按以下方式运行:

> npm install yourtool-cli -g
> yourtool [args]

N.B。将后缀-cli添加到命令行节点包名称是很常见的。 -g选项是全局安装而不是本地文件夹。

File System模块允许您执行批处理/脚本文件执行的大量操作,例如。