2017-02-21 91 views
-3

有它转换窗口批次来砸文件,反之亦然的工具吗?跨平台的shell脚本

+1

为什么不使用所有平台上存在的语言? Python,Perl等 – choroba

+0

据我所知,这些语言默认情况下并未安装在用户计算机上 - 至少在Windows上。我正在开发一个跨浏览器的独立应用程序,它需要运行几个shell命令。 –

+0

@JanViehweger:我不会承担*安装任何*语言**默认**在Windows,除非你的Windows批处理脚本作为一门语言。您可以合理地假设JVM在任何地方都可用,因此您可以使用任何生成Java Bytecode的语言 - Ruby,Python,Scala,甚至是Java。另一种可能性是编译为机器码,所以你有一个共同的源码,但需要为每个目标平台编译。最后一种可能性是一种语言,在该语言中存在一个可以很容易地与源代码一起分发的实现(例如gawk或bash)。 – user1934428

回答

2

是的,跨平台的编码成为可能。

cross-platform scripting for windows, Linux, MacOS X

PowerShell是跨平台(Windows,Linux和苹果机):

看到这些链接

(是的,我知道链接在一般皱着眉头,但是这是一个非常普遍的问题!)

https://www.google.co.uk/search?q=powershell+cross+platform+scripting

cross-platform scripting for windows, Linux, MacOS X

https://blogs.msdn.microsoft.com/dotnet/2016/08/18/powershell-is-now-open-source-and-cross-platform/

https://blogs.msdn.microsoft.com/scxplat/2009/12/11/cross-platform-powershell-scripts-released/

https://github.com/PowerShell/PowerShell

Perl是还跨平台

How to write cross-platform perl code

Python可以是,只要没有特定的OS的库被使用。

+0

尽管这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/15285107) – SOFe

+0

同意,@PEMapModder,但如前所述,问题是模糊的。一些链接是针对SO本身的。我猜我不希望实际编写跨平台脚本? – TechSpud

+0

如果问题过于模糊或者重复SO上的其他问题,请将问题标记为重复或“太宽泛”。 – SOFe

0

对于一些标准操作,它是一件容易的事,因为一些命令做同样的工作(例如多与少,CD,ipconfig并使用ifconfig,MD和MKDIR,...)。所以对于一个基本的原型,你只需要替换一些命令。

但大多数命令的不同参数方面等,所以它不会是一个艰苦的工作很多,但一个非常耗时的一种方式来看待,包括允许每个参数的shell命令和预期的参数值,以及“翻译”他们到另一个操作系统的适当形式。

我认为有您的任务两个主要选项:

  1. 在Windows10安装bash的(如果你已经切换到它),你提供了一个基本的bash shell这样你就可以在Windows
  2. 使用Linux命令
  3. 使用PowerShell和Mac和Linux上安装以及

另一种选择是使用可以在两个平台上运行的解释编程语言(例如Perl或Python可以做的工作相当不错)