2012-01-02 05:07:33 +0000 2012-01-02 05:07:33 +0000
22
22

如何在Windows中运行shell脚本?

我是一个Mac用户,刚接触Windows,如何在Windows中执行shell脚本?

一般来说,我会保存一个以.sh为扩展名的文本文件,然后通过Terminal运行。但我如何在Windows中执行呢?

答案 (8)

30
30
30
2012-01-02 05:18:47 +0000

.sh后缀的脚本一般是Bourne shell脚本(或bash,或ksh,或zsh—-所有的shell都是从Bourne shell衍生出来的)。(注意,在类似 Unix 的系统上,包括 MacOS,.sh 后缀并不是必须的,操作系统会看脚本顶部的 #!/bin/sh 行来决定如何执行。)

Windows 没有提供类似 Bourne 的 shell。(编辑部评论。Cygwin对于像我这样需要使用Windows,但又想使用Unix的人来说是很好的。)

还有其他类似于Unix的子系统可以在Windows下运行,包括MinGW和微软提供的Windows Services for UNIX包。这些文件一般都有.bat.cmd后缀。

还有一个比较新的Windows PowerShell;我自己并不熟悉,但我听说过它的好东西。

7
7
7
2012-01-02 05:09:41 +0000

你可以使用 Cygwin 。它提供了类似于linux的windows环境。

2
2
2
2016-09-19 19:31:35 +0000

还有一种方法可以通过Windows 10的周年庆更新来实现。现在Windows中有一个Bash (Ubuntu)shell,为了使用它,你需要安装这个功能,因为它在默认情况下没有启用。转到Control Panel -> Programs -> Turn Windows Features On and Off.

  1. 选择Windows Subsystem for Linux (Beta)的复选框。然后你可以通过 run -> cmd 打开一个命令提示符,然后输入 bash 或 run -> bash.exe
2
2
2
2012-01-02 05:16:17 +0000

在Win系统中,常用的扩展名是.bat.cmd。Windows shell中使用的命令的一个很好的来源是ss64–用于CMD和PowerShell。它只是给你提供了Linux的风格–在Win上使用BASH。

2
2
2
2012-01-02 12:14:01 +0000

UWIN是由David Korn开发的一个计算机软件包,它允许为Unix操作系统编写的程序在微软的Windows系统上运行,并且只需要很少的改动。部分软件的开发工作被分包给了印度Wipro公司。1.几乎可以访问Windows系统中所有的Unix命令行工具。准确的说是245个命令行工具。捆绑了原始的Unix编译器'cc'以及大量的工具,如'make'和必要的库,使Unix应用程序可以在Windows机器上运行,只需对源代码进行极少的修改。3.可以选择使用其他编译器,如Visual C++或Mingw来编译程序。完整的Perl包。 4. 4.为那些渴望在windows系统上开发X窗口程序的人提供了X窗口库。5.UWIN自带了一个控制面板小程序(通过 “开始->设置->控制面板->UWIN"),可以用来配置UWIN系统的一些参数。

  • 在Windows平台上使用Unix命令行工具的全部功能。

  • 与UWIN捆绑的korn shell使Unix用户在Windows环境中感到宾至如归。

  • 在Windows平台上开发和运行UNIX应用程序。尽管有第三方的商业X服务器可以填补这个空白。

  • UWIN不是在GPL下发布的,但是可以免费下载和用于教育和非商业用途。 **


参考文献: WikiPedia Cygwin是一个类似于Unix的环境和命令行界面,适用于微软Windows。

  • Interix **** Interix是Services for Unix (SFU)3.0和3.5版本的组件(这最后一个是免费发布的)。 0,是Windows Server 2003 R2、Windows Vista企业版和终极版以及Windows Server 2008中的组件,其名称为SUA(基于Unix的应用程序子系统),6.1版本包含在Windows 7(企业版和终极版)和Windows Server 2008 R2(所有版本)中。
1
1
1
2016-08-25 07:59:50 +0000

虽然这里现有的答案在当时是正确的,但Windows 10does现在可以选择包含一个修改过的Ubuntu运行完整的bash shell

一旦安装好了,你可以打开一个bash提示符(就像在OS X/macOS中的终端一样),然后像往常一样运行脚本,即:

chmod +x myscript.sh
./myscript.sh

如果你想直接在Windows中运行脚本,你可以在同一目录下创建一个快捷方式,然后将 “目标 "设置为类似于:

C:\Windows\System32\bash.exe -c "./myscript.sh"

如果你的脚本的路径是相对于快捷方式的位置(如上面的例子),请确保 "Start in "字段也是空白的。

0
0
0
2012-01-02 05:09:52 +0000

你需要CygWin,然后我相信你只要运行:

sh yourscript.sh
```就可以了。
0
0
0
2012-01-02 11:20:04 +0000

正确答案是在Kenaniah的评论中给出的,你必须使用批处理文件。你需要将你的shell代码文件命名为*.bat,然后你可以通过点击它来运行,或者直接在终端中输入它的名字。注意,windows终端的工作方式和unix终端不一样。你可以在网上找到很多关于命令和语法的帮助和教程。还有一种可能是使用Windows PowerShell,它似乎更像unix。