• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

在Windows上,如何执行.sh文件?

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

问题描述

当我尝试通过命令./name.sh在命令行中执行文件(name.sh)时,我收到错误消息:

“.” is not recognized as an internal or external command, operable or batch file

执行.sh文件的正确方法是?

 

最佳解决方法

从错误信息来看,你使用的是Windows CMD.EXE。它使用跟Linux不同的语法来执行命令。假设您已经安装了Cygwin或类似的设备,则需要使用sh name.sh

需要澄清的是,Windows系统上没有内置程序来支持.sh文件。要运行它,您需要安装第三方工具,例如Cygwin。

 

次佳解决方案

看得出来,您尝试在Windows命令提示符下运行Linux命令。下面从两个方面看这个问题:
第一个方面:
在Linux上,正斜杠是一个路径分隔符。而在Windows上,反斜杠是一个路径分隔符,而正斜杠通常表示一个参数。

因此,Windows认为您正在尝试运行一个名为”.”的命令并将其解析为参数”/name.sh”。正确的约定将是”.\name.sh”。此外,Windows系统会自动搜索当前目录中的命令,所以您可以直接输入”name.sh”。
第二个方面:
Windows并不知道什么是sh脚本,sh是一个Linux上的概念。通常可以安装Cygwin来解决这个问题,如果你真的想要在windows上运行一个sh脚本。

另外,您也可以将脚本重命名为name.bat,并删除”#!/bin/sh”行。现在你有一个Windows应该理解的批处理文件。更多有关批处理文件参考:这里中的信息。

 

第三种解决方案

另外一种选择,安装Linux系统吧。从命令提示行输出:

sh runide.sh

要么

sudo sh runide.sh

就可以正常执行程序了。

 

第四种方案

Windows系统本身不能运行.sh来执行shell脚本。是已经安装了像CygWin这样的东西,程序不能执行?还是就是想在cmd.exe中运行程序?

 

第五种方案

打个比方,你这样做相当于试图用橙汁代替汽油来驱动你的汽车。

如果一定要这样做,需要安装一个提供”sh.exe”程序或”csh.exe”或”bash.exe”程序(tsh.exe)的环境

或者,如果您非常了解Unix脚本命令,并且您知道Windows .cmd和.bat文件命令,那么您可以将.sh文件转换为.bat或.cmd文件。即使如此,您也将经常遇到更多的Unix风格的程序,在Windows下没有对应,如grep,sed,vi,emacs等。因此,安装CygWin – 只需其中的shell和Unix工具。

其他方案

在Windows中使用Github吧,它包含所有Unix环境需要的可执行文件。

https://github-windows.s3.amazonaws.com/GitHubSetup.exe

参考资料

  • How to execute .sh file on Windows?

鲜花

握手

雷人

路过

鸡蛋
专题导读
上一篇:
Go语言教程:组合函数发布时间:2022-05-14
下一篇:
Go语言教程:字符串函数发布时间:2022-05-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap