在Windows中等效的Shell脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Windows中等效的Shell脚本相关的知识,希望对你有一定的参考价值。
我需要将一些.sh
shell脚本转换为可以在Windows环境中运行的Windows本机脚本,而无需使用任何外部软件,如cygwin,migwin等。
我知道Windows 10有适用于Linux的Windows子系统(WSL),但它处于测试版状态并且使用它我们需要启用开发人员模式。
我的一些选项是将它们转换为批处理文件或Powershell脚本,但是我需要找到每个等效的CMD / PS命令,这将花费很长时间。
在Windows上运行shell脚本有什么快捷方式吗?
答案
您唯一的选择是:
- 正如你所注意到的那样,WSL已经不再处于测试阶段了。
- 安装类似CygWin的东西。
- 将* 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 脚本的 shell 片段 [重复]
此 Canon SDK C++ 代码片段的等效 C# 代码是啥?