如何在Windows 7命令提示符下运行.sh ?当我试着在里面运行这一行的时候总是会得到这个错误,

app/build/build.sh

错误,

'app' is not recognized...

or,

bash app/build/build.sh

错误,

'bash' is not recognized...

知道我错过了什么吗?

这里是截屏,


当前回答

您是否尝试过通过对.sh所在的根目录进行压缩以从那里执行它,而不是像您在问题中所示的那样写下文件的路径?

像这样:

$ cd app/build
$ build.sh

其他回答

错误消息表明您还没有安装bash,或者它不在您的PATH中。

谷歌中最热门的是http://win-bash.sourceforge.net/,但你也需要明白,大多数Bash脚本都希望有一个类unix的环境;因此,仅仅安装Bash可能不太可能允许您运行在网上找到的脚本,除非它是专门为这种特定的使用场景设计的。通常的解决方案是https://www.cygwin.com/,但也有很多可能的替代方案,这取决于你想要完成的具体目标。

如果Windows不是您使用场景的中心,那么安装一个免费的操作系统(可能是虚拟化的)可能是最简单的方法。

第二个错误消息是由于Windows名义上接受正斜杠作为目录分隔符,但在这里,它被解释为开关分隔符。换句话说,Windows将你的命令行解析为app /build /build.sh(或者,套用Unix选项约定,app——build——build.sh)。您可以尝试app\build\build.sh,但由于上面概述的情况,它不太可能工作。

运行.sh文件最常见的方法是使用sh命令:

C:\>sh my-script-test.sh 

另一个好的选择是安装CygWin

在Windows中,家庭位于:

C:\cygwin64\home\[user]

例如,我使用bash命令执行my-script-test.sh文件:

jorgesys@INT024P ~$ bash /home/[user]/my-script-test.sh 

您是否尝试过通过对.sh所在的根目录进行压缩以从那里执行它,而不是像您在问题中所示的那样写下文件的路径?

像这样:

$ cd app/build
$ build.sh

在Windows 10周年更新中,在ubuntu上运行shell命令甚至更容易

我试图为我的x-wrt r7000 netgear路由器设置我的区域,我发现以下对我有用,在windows上使用ubuntu上的bash,你必须启用在windows功能中找到的子系统,并开启开发模式

ssh admin@192.168.1.1 < /mnt/c/ccode-eu.sh

在Windows操作系统下安装github工具。在安装Git的环境变量“System”中设置如下路径。

<程序文件在C:\>\Git\bin

<程序文件在C:\>\Git\usr\bin

在cmd窗口中键入'sh'重定向到Bourne shell并在终端中运行您的命令。