我有一个bat脚本,我想在windows/Mac/linux上运行,但我读到.bat仅适用于windows。我怎样才能让这个脚本在 Mac 和 Linux 上工作,或者我可以编写什么类型的脚本来在所有 3 个平台上工作。
没有这样的野兽。 Windows 不支持 Mac/Linux 使用的 unix 风格 shell 脚本,并且 Mac/Linux 没有支持 .bat 文件所需的 command.com/cmd.exe。
有很多方法可以伪造这一点,比如在 mac/linux 上运行 Wine,在 Windows 上运行 cygwin,但那就完全是另外一回事了。
如果您不想使用 C 等语言,我建议使用 Python 作为多平台脚本语言。它很容易学习,并且有很多通用的、多平台的库和函数。
您需要将其安装在 Windows 上,也许还需要安装在 OS X 上。但无论如何,这并不困难。
如果不在其中一个平台上安装某些东西,就没有一种 shell 脚本语言可以在所有这三个平台上使用。对于 Windows,安装像
Bash
这样在 Linux 和 OSX 上可用的东西不太有用,因为它永远不会像在 OSX 和 Linux 上那样无缝地与 Windows 集成,并且永远无法像集成为 .bat 或 PowerShell 文件即可。
就我个人而言,当我需要跨平台脚本时,我会选择Python。
.bat 脚本仅适用于 Windows。我会保留 Windows 上的 bat 脚本,并创建一个设计用于在 Linux 和 osx 上运行的 bash 脚本。
请不要让我安装 cygwin 工具只是为了运行脚本。
您可以编写一个批处理文件,并让它从 Windows 上的 cmd 和 Linux 上的 sh 进行解释
但是没有太多共同的语法,因此您将被迫从那时起运行特定于操作系统的脚本
您可以在 Mac 上安装 Powershell。在这种情况下,您可以编写
ps1
文件并在 Windows 和 Mac 中执行它们