在Windows中等效的Shell脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Windows中等效的Shell脚本相关的知识,希望对你有一定的参考价值。

我需要将一些.sh shell脚本转换为可以在Windows环境中运行的Windows本机脚本,而无需使用任何外部软件,如cygwin,migwin等。

我知道Windows 10有适用于Linux的Windows子系统(WSL),但它处于测试版状态并且使用它我们需要启用开发人员模式。

我的一些选项是将它们转换为批处理文件或Powershell脚本,但是我需要找到每个等效的CMD / PS命令​​,这将花费很长时间。

在Windows上运行shell脚本有什么快捷方式吗?

答案

您唯一的选择是:

  1. 正如你所注意到的那样,WSL已经不再处于测试阶段了。
  2. 安装类似CygWin的东西。
  3. 将* ix shell脚本转换为批处理,PowerShell,VBScript或JScript。如果使用PowerShell,在寻找等价物方面可能会有更好的运气。是的,这需要一些时间和研究,但任何类型的脚本翻译的成本将是一个学习曲线;即使有自动化工具,结果也会非常不理想。 PowerShell采用与其他shell明显不同的模型,与管道相关;如果你试图写入传统模型而不是按预期使用PowerShell,你会发现你的挫折程度在屋顶上。

通过最严格的定义,您对“Windows本机脚本”的唯一选择是上面的选项3;其他不是“Windows原生脚本”;它们是非Windows工具的实现,允许您针对Windows资源运行* ix shell脚本(通常是bash,而不是sh,csh,zsh等)。

另一答案

我建议使用适用于Linux的Windows子系统,因为它已经普遍可用,不再处于测试阶段。

您可以通过PowerShell安装它:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

安装完成后,您可以交互式执行脚本或通过bash传入,例如:

bash.exe myscript.sh

更多信息:https://docs.microsoft.com/en-us/windows/wsl/install-win10

以上是关于在Windows中等效的Shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

代码片段:Shell脚本实现重复执行和多进程

常用python日期日志获取内容循环的代码片段

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

此 Canon SDK C++ 代码片段的等效 C# 代码是啥?

执行shell脚本三种方法的区别:(sh、exec、source)

shell 脚本 片段