Windows 在Linux环境中运行.bat
有没有办法在Linux环境中运行.bat文件? 我有几个.bat文件,它们的目的是调用mvn安装:安装文件脚本。因此,脚本中没有依赖于操作系统的内容 谢谢,您可以使用or,但一般来说,linux没有已知的Windows 在Linux环境中运行.bat,windows,linux,bash,batch-file,sh,Windows,Linux,Bash,Batch File,Sh,有没有办法在Linux环境中运行.bat文件? 我有几个.bat文件,它们的目的是调用mvn安装:安装文件脚本。因此,脚本中没有依赖于操作系统的内容 谢谢,您可以使用or,但一般来说,linux没有已知的bat解释器。然而,有各种针对windows的unix Shell实现,甚至还有一个标准工具包,windows Services for unix(又称“windows服务”),其中包括ksh实现和许多其他好东西,因此如果您想让它对操作系统透明,您可以考虑使用它,并在兼容POSIX的shell脚
bat
解释器。然而,有各种针对windows的unix Shell实现,甚至还有一个标准工具包,windows Services for unix
(又称“windows服务”),其中包括ksh
实现和许多其他好东西,因此如果您想让它对操作系统透明,您可以考虑使用它,并在兼容POSIX的shell脚本语言中编写脚本。
---编辑---
另一方面,如果您的脚本只包含一个
mvn
,那么您只需确保该文件具有执行权限(x
标志),使用shell解释器(如/bin/bash script.bat
)将其前置,并尝试一下即可。但是,不能保证成功。否。bat
文件是windows shell脚本,可能执行windows命令并希望在windows环境中运行。您需要将它们转换为shell脚本,以便在linux上运行它们,因为bashshell无法理解dos命令。幸运的是,如果安装文件脚本真正独立于平台,那应该很容易。如果您展示一个示例,我们可能会帮助您翻译。简单的答案是肯定的,有一种方法可以在Linux上运行它,只要:
- 从
文件运行的命令位于Linux设备上的.bat
中$PATH
- 您没有使用Microsoft特定的批处理文件命令或控制结构
您将需要使该文件可执行,并且很可能在文件内容前面加上一行代码,告诉Linux使用哪个shell来运行该脚本。类似于bash的内容:
#/bin/bash
您可以编写与.bat脚本等效的shell脚本。安装dosbox
sudo-apt-install-dosbox
用它运行
dosbox
从Linux操作系统装载主文件夹。在dosbox内键入
MOUNT D/home/
切换文件夹驱动器
D:
现在,如果您的用户主目录中有一个名为my.bat
的文件,那么在doxbox中只需运行它
MY.BAT
在Linux终端类型上
wine cmd
之后,windows cmd将在您的终端上播放。转到.bat文件所在的文件夹,键入bat文件名并按enter键。它将成功运行。您可以使用记事本++在linux中轻松运行任何批处理文件,您可以在任何linux应用商店中找到记事本+。我从snap store下载了它,它是针对linux的。Notepad++有一个名为run的选项,它将在任何环境下为您运行批处理文件谢谢您的回答。该脚本使用“set”、“rem”、“call”命令。在Unix环境中无法识别。令人遗憾的是,这样的解释器还没有被创建。这里最大的问题是Windows批处理文件可能使用CRLF作为行分隔符,而bash往往会以奇怪的方式阻塞它。用于将CRLF格式转换为CR格式。这里的一个大问题是Windows批处理文件可能使用CRLF作为行分隔符,而bash往往会以奇怪的方式阻塞它。用于将CRLF格式转换为CR格式。