有没有办法在 Linux 环境中运行 .bat 文件?我有几个 .bat 文件,它们的目的是调用 mvn install:install-file 脚本。因此脚本中没有任何依赖于操作系统的内容。
谢谢,
有没有办法在 Linux 环境中运行 .bat 文件?我有几个 .bat 文件,它们的目的是调用 mvn install:install-file 脚本。因此脚本中没有任何依赖于操作系统的内容。
谢谢,
您可以使用wine
or dosbox
,但通常没有已知bat
的 linux 解释器。但是,有各种用于 windows 的 unix shell 的实现,甚至还有一个标准工具包Windows Services for UNIX
(aka SUA
),其中包括ksh
实现和许多其他好东西,所以如果你想要它对操作系统透明,你可以考虑使用它并编写你的脚本使用符合 POSIX 的 shell 脚本语言。
--- 编辑 --- 另一方面,如果你的脚本只包含一个mvn <params>
,你可以确保文件具有执行权限(x
标志),在它前面加上一个 shell 解释器(比如/bin/bash script.bat
),然后试试看它。但是,不能保证成功。
简单的答案是肯定的,有一种方法可以在 Linux 上运行它,只要:
.bat
文件运行的命令$PATH
位于您的 Linux 框中您需要使文件可执行,并且很可能在文件的内容前面加上一行,告诉 Linux 使用哪个 shell 运行脚本。bash 是这样的:#!/bin/bash
在 Linux 终端类型上
wine cmd
之后,windows cmd 将在您的终端上播放。转到 .bat 文件所在的文件夹,输入 bat 文件名,然后按 Enter。它将成功运行。
安装dosbox
sudo apt install dosbox
运行它
dosbox
从您的 Linux 操作系统挂载您的主文件夹。在dosbox里面输入
MOUNT D /home/<your user>
切换文件夹驱动器
D:
现在,如果您my.bat
在用户主目录中调用了一个文件,则在 doxbox 中运行它
MY.BAT
您可以使用 notepad++ 在 linux 中轻松运行任何批处理文件,您可以在任何 linux 应用商店中找到 notepad++。我已经从适用于 linux 的 snap 商店下载了它。Notepad++ 有一个名为 run 的选项,它将在任何环境中为您运行批处理文件
不,这些bat
文件是 windows shell 脚本,可能执行 windows 命令并期望在 windows 环境中运行。您需要将它们转换为 shell 脚本才能在 linux 上运行它们,因为您的 bash shell 无法理解 dos 命令。幸运的是,如果安装文件脚本真正独立于平台,那应该很容易。如果您提供示例,我们可能会帮助您翻译。
您可以将与 .bat 脚本等效的内容编写为 shell 脚本。