有没有办法在Linux环境下运行.bat文件? 我有一些.bat文件,它们的目的是调用mvn install:install-file脚本。因此,脚本中没有任何依赖于操作系统的内容。
谢谢。
有没有办法在Linux环境下运行.bat文件? 我有一些.bat文件,它们的目的是调用mvn install:install-file脚本。因此,脚本中没有任何依赖于操作系统的内容。
谢谢。
wine
或者 dosbox
,但是通常情况下Linux中没有已知的bat
解释器。然而,有一些适用于Windows的各种Unix shell实现,甚至还有一个标准工具包Windows Services for UNIX
(又名SUA
),其中包括ksh
实现和许多其他好玩的东西,因此如果您想要操作系统透明度,可以考虑使用它并在符合POSIX标准的shell脚本语言中编写脚本。mvn <params>
之外没有其它内容,你可以确保该文件有可执行权限(x
标志),在头部加入一个shell解释器(如/bin/bash script.bat
),然后运行它。不过不能保证一定成功。wine cmd
之后,Windows命令提示符将在您的终端上播放。转到.bat文件所在的文件夹,键入.bat文件的名称并按回车键。它将成功运行。
wine cmd /c <bat_file>
执行,以在执行完成后自动关闭 cmd
窗口。由于我目前不在 Linux 机器上,所以我还没有测试过它。实际上它可能只是完全隐藏了 cmd
窗口。 - AntumDeluge.bat
文件中运行的命令在你的Linux系统的$PATH
路径下。#!/bin/bash
安装dosbox
sudo apt install dosbox
运行它
dosbox
从Linux操作系统中挂载您的主文件夹。在dosbox中输入以下命令
MOUNT D /home/<your user>
切换文件夹驱动器
D:
现在,如果您的用户主目录中有一个名为my.bat
的文件,则只需在doxbox中运行它
MY.BAT
你可以在Linux中使用Notepad++轻松运行任何批处理文件,你可以在任何Linux应用商店中找到Notepad++。我是从适用于Linux的Snap Store下载的。Notepad++有一个名为“运行”的选项,它可以在任何环境下为你运行批处理文件。
bat
文件是Windows shell脚本,可能执行Windows命令并期望在Windows环境中运行。您需要将它们转换为shell脚本才能在Linux上运行,因为您的bash shell无法理解dos命令。幸运的是,如果安装文件脚本确实是跨平台的,那应该很容易。如果您提供一个示例,我们可能能够帮助您进行翻译。你可以将你的 .bat 脚本编写成一个 shell 脚本的等效形式。
dos2unix
将文件从CRLF转换为CR格式。 - Digital Traumabat
解释器:winescript - ensonic