在Linux环境中运行.bat

时间:2012-10-01 21:00:01

标签: windows linux bash batch-file sh

有没有办法在Linux环境下运行.bat文件? 我有几个.bat文件,他们的目的是调用mvn install:install-file脚本。因此,脚本中没有任何操作系统依赖。

谢谢,

7 个答案:

答案 0 :(得分:9)

您可以使用winedosbox,但一般情况下,Linux上没有已知的bat解释器。但是,有各种各样的unix shell用于windows的实现,甚至还有一个标准的工具包,Windows Services for UNIX(又名SUA),包括ksh实现和许多其他不错的好东西,所以如果你想要操作系统透明,你可以考虑使用它并用符合POSIX标准的shell脚本语言编写脚本。

---编辑--- 另一方面,如果您的脚本包含除<{1}}以外的其他,则可以确保该文件具有执行权限(mvn <params>标志),并在其前面添加shell解释器(如x)并且可以使用它。但成功并不能保证。

答案 1 :(得分:2)

简单的答案是肯定有一种方法可以在Linux上运行它:

  • 您从.bat文件运行的命令位于Linux机器上的$PATH
  • 您没有使用Microsoft特定的BATCH文件命令或控制结构

您需要使文件可执行,并且很可能使用一行来预先知道文件的内容,该行告诉Linux哪个shell运行脚本。对于bash来说是这样的:#!/bin/bash

答案 2 :(得分:1)

在Linux终端类型上

wine cmd

之后,Windows cmd将在您的终端上播放。转到.bat文件所在的文件夹,然后键入bat文件名,然后按Enter。它将成功运行。

答案 3 :(得分:0)

没有。 bat文件是Windows shell脚本,它们可能执行Windows命令并期望在Windows环境中运行。你需要将它们转换为shell脚本才能在linux上运行它们,因为你的bash shell无法理解dos命令。幸运的是,如果安装文件脚本真的与平台无关,那应该很容易。如果您举例,我们可能会帮您翻译。

答案 4 :(得分:0)

安装dosbox

sudo apt install dosbox

运行它 dosbox

从Linux操作系统安装您的主文件夹。在dosbox中输入

MOUNT D /home/<your user>

切换文件夹驱动器

D:

现在,如果您的用户主目录中有一个名为my.bat的文件,那么在doxbox中运行它 MY.BAT

答案 5 :(得分:0)

您可以使用notepad++在linux中轻松运行任何批处理文件,您可以在任何linux应用商店中找到notepad++。我是从适用于 linux 的 snap 商店下载的。 Notepad++ 有一个名为 run 的选项,它会在任何环境下为您运行批处理文件

答案 6 :(得分:-1)

您可以将.bat脚本的等效内容编写为shell脚本。