我有几个问题:
是否有办法让UNIX脚本在Windows操作系统下运行,而无需像CYGWIN这样的附加组件?
是否有办法将UNIX脚本转换为Windows批处理脚本,以便在Windows命令提示符中运行?
我搜索了一下,但是我被引导到UNIX命令win2unix或unix2win,它们用于将文件从/转换为Windows/UNIX格式。
谢谢帮助。
我有几个问题:
是否有办法让UNIX脚本在Windows操作系统下运行,而无需像CYGWIN这样的附加组件?
是否有办法将UNIX脚本转换为Windows批处理脚本,以便在Windows命令提示符中运行?
我搜索了一下,但是我被引导到UNIX命令win2unix或unix2win,它们用于将文件从/转换为Windows/UNIX格式。
谢谢帮助。
这个老问题的另一个答案是安装和运行轻量级的类Unix模拟器。以下是一些选项:
以上列表中的安装微型环境比typical Cygwin安装要轻。此外,在我的经验中,这些环境中的大多数Bash脚本与本机Linux环境运行相当。
另一个选择是安装类似WSL2的Linux子系统。
另一个选择是手动将Bash转换为DOS,或者使用类似于Bash-to-BAT converter这样的部分辅助工具,它并不是非常全面,还可以参考Advanced Bash-Scripting Guide。
dos2unix
实用程序,以将 Windows 回车符转换为 Bash 可理解的 LF
。 - ingyhere
.bat
兼容的shell通常是每个Windows系统的一部分,而sh
兼容的脚本则不是。我不明白像“唯一的区别”、“只是巧合”或“倒霉”这样的术语如何适用于这种情况。你的评论很令人困惑... - Aacinibash
脚本(假设使用bash
,但也可能是任何shell)而不使用“类似Cygwin”的东西(或者MSYS、GNUWin等)。但事实上,在Unix下也不能。只有在Unix下,兼容的shell恰好总是存在(嗯,不是_总是_,但通常是这样)。需要脚本解释器来运行脚本并不奇怪(在我看来),就像打开Word文档需要类似“Word”的东西一样。 - Damon