Answers:
带.sh
后缀的脚本通常是Bourne shell脚本(或bash或ksh或zsh-所有从Bourne shell派生的外壳)。(请注意,在包括MacOS在内的类似Unix的系统上,.sh
后缀不是必需的; OS会查看#!/bin/sh
脚本顶部的行来确定如何执行该后缀。)
Windows没有提供类似Bourne的外壳。
您可以安装Cygwin,它在Windows下提供了一个类似Unix的环境-但它没有特别的“本机”环境。(编辑评论:Cygwin非常适合像我这样需要使用Windows但宁愿使用Unix的人。)
还有其他在Windows下运行的类Unix子系统,包括MinGW和Microsoft提供的Windows Services for UNIX软件包。
或者,您可以编写Windows批处理文件,而不必尝试编写和运行类似Unix的Shell脚本。这些通常带有.bat
或.cmd
后缀。它们使用与Windows交互式命令提示符相同的命令和语法。
还有相对较新的Windows PowerShell;我本人并不熟悉它,但是我听说过一些好东西。
UWIN是由David Korn创建的计算机软件包,该软件包允许为Unix操作系统编写的程序可以在Microsoft Windows上构建并运行,而无需进行任何更改(如果有的话)。某些软件开发已分包给印度的Wipro。
UWIN的主要特点
UWIN的用途
UWIN的缺点
那是我上大学时用来教我们Linux Command的软件。真的很好。
参考:WikiPedia
Cygwin是Microsoft Windows的类Unix环境和命令行界面。
好消息是Cygwin提供了基于Windows的应用程序,数据和其他系统资源与类Unix环境的应用程序,软件工具和数据的本地集成。
Interix
Interix是Unix服务(SFU)版本3.0和3.5的组件(最后一个是免费分发的)。
Interix 5.2和6.0的最新版本是Windows Server 2003 R2,Windows Vista Enterprise和Ultimate版以及Windows Server 2008的组成部分,名称为SUA(基于Unix的应用程序的子系统),版本6.1已包含在Windows 7中(企业版和旗舰版)和Windows Server 2008 R2(所有版本)
使用Windows 10的周年更新还有另一种方法。Windows中现在有一个Bash(Ubuntu)shell。
为了使用它,您需要安装该功能,因为默认情况下未启用该功能。
转到Control Panel
-> Programs
-> Turn Windows Features On and Off
。
选中的复选框Windows Subsystem for Linux (Beta)
。这将安装该功能并提示重新启动。
然后,您可以通过运行-> cmd
然后键入bash
或运行-> 打开命令提示符bash.exe
。
这将为您提供一个没有虚拟机,Cygwin或virtualbox的bash shell。
尽管这里的现有的答案是正确的时候,Windows 10 没有现在可选包括的Ubuntu上运行一个完整的bash shell的修改版本。
安装后,您可以打开bash提示符(就像在OS X / macOS中使用终端一样),并照常运行脚本,即:
chmod +x myscript.sh
./myscript.sh
如果要直接从Windows运行脚本,则可以在同一目录中创建快捷方式,并将“目标”设置为类似以下内容:
C:\Windows\System32\bash.exe -c "./myscript.sh"
如果脚本的路径相对于快捷方式的位置(如上面的示例),请确保“开始于”字段也为空白。
Kenaniah在评论中给出了正确的答案,您必须使用批处理文件。您需要将外壳程序代码文件命名为* .bat,然后可以通过单击它来运行它,也可以在终端中简单地键入其名称。请注意,Windows终端不能完全像unix终端那样工作。您会在网上找到许多有关命令和语法的帮助和教程。也有可能使用Windows PowerShell,它看起来更像是Unix。