Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 跨平台shell脚本_Linux_Windows_Bash_Shell_Powershell - Fatal编程技术网

Linux 跨平台shell脚本

Linux 跨平台shell脚本,linux,windows,bash,shell,powershell,Linux,Windows,Bash,Shell,Powershell,是否有一种工具可以将windows批处理转换为bash文件,反之亦然?是的,可以进行跨平台编码 PowerShell是跨平台的(Windows、Linux、Mac): 看到这些链接(是的,我知道链接通常是不受欢迎的,但这是一个非常普遍的问题!) Perl也是跨平台的 只要不使用特定于操作系统的库,Python就可以使用。对于某些标准操作来说,这是一项简单的任务,因为有些命令执行相同的任务(例如,more和less、cd、ipconfig和ifconfig、md和mkdir等)。所以

是否有一种工具可以将windows批处理转换为bash文件,反之亦然?

是的,可以进行跨平台编码

PowerShell是跨平台的(Windows、Linux、Mac):

看到这些链接(是的,我知道链接通常是不受欢迎的,但这是一个非常普遍的问题!)

Perl也是跨平台的


只要不使用特定于操作系统的库,Python就可以使用。

对于某些标准操作来说,这是一项简单的任务,因为有些命令执行相同的任务(例如,more和less、cd、ipconfig和ifconfig、md和mkdir等)。所以对于一个基本的原型,你只需要替换一些命令

但是大多数命令在参数等方面存在很大差异。因此,查看每个shell命令(包括允许的参数和期望的参数值)并将它们“转换”为其他操作系统的适当形式并不困难,但这是一项非常耗时的工作

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

  • 在Windows10上安装bash(如果您已经切换到它),它为您提供了一个基本的bash shell,因此您可以在windows上使用linux命令
  • 使用powershell并将其安装在Mac和Linux上

  • 另一种选择是使用可以在两种平台上运行的解释编程语言(例如Perl或Python可以很好地完成这项工作)

    为什么不使用一种存在于所有平台上的语言呢?据我所知,默认情况下,这些语言不会安装在用户计算机上,至少在windows上是这样。我正在开发一个跨浏览器的独立应用程序,需要运行几个shell命令。@JanViehweger:我不会假设默认情况下在Windows上安装任何语言,除非您将Windows批处理脚本计算为一种语言。您可以合理地假设JVM无处不在,因此您可以使用任何生成Java字节码的语言—Ruby、Python、Scala,甚至Java。另一种可能性是编译为机器代码,因此您有一个通用源代码,但需要为每个目标平台编译。最后一种可能是一种存在实现的语言,它可以很容易地与源代码(例如gawk或bash)一起分发。fwiw编译为bash或batch。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-同意,@pemapmoder,但如前所述,这个问题是模糊的。有些链接本身就是如此。我猜我不需要真正编写跨平台脚本?如果问题太模糊或与其他问题重复,请将问题标记为重复或“太宽”。酷。已经标记。谢谢@PEMapModder@TechSpud谢谢你的链接!这正是我想要的。