如何在Windows中运行shell脚本?
我是一个Mac用户,刚接触Windows,如何在Windows中执行shell脚本?
一般来说,我会保存一个以.sh
为扩展名的文本文件,然后通过Terminal运行。但我如何在Windows中执行呢?
我是一个Mac用户,刚接触Windows,如何在Windows中执行shell脚本?
一般来说,我会保存一个以.sh
为扩展名的文本文件,然后通过Terminal运行。但我如何在Windows中执行呢?
带.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;我自己并不熟悉,但我听说过它的好东西。
还有一种方法可以通过Windows 10的周年庆更新来实现。现在Windows中有一个Bash (Ubuntu)shell,为了使用它,你需要安装这个功能,因为它在默认情况下没有启用。转到Control Panel
-> Programs
-> Turn Windows Features On and Off
.
Windows Subsystem for Linux (Beta)
的复选框。然后你可以通过 run -> cmd
打开一个命令提示符,然后输入 bash
或 run -> bash.exe
。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。
虽然这里现有的答案在当时是正确的,但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 "字段也是空白的。
正确答案是在Kenaniah的评论中给出的,你必须使用批处理文件。你需要将你的shell代码文件命名为*.bat,然后你可以通过点击它来运行,或者直接在终端中输入它的名字。注意,windows终端的工作方式和unix终端不一样。你可以在网上找到很多关于命令和语法的帮助和教程。还有一种可能是使用Windows PowerShell,它似乎更像unix。