300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux运行cmd文件sh文件目录 在Windows上 如何执行.sh文件?

linux运行cmd文件sh文件目录 在Windows上 如何执行.sh文件?

时间:2022-06-11 09:12:07

相关推荐

linux运行cmd文件sh文件目录 在Windows上 如何执行.sh文件?

问题描述

当我尝试通过命令./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环境需要的可执行文件。

参考资料

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。