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

app/build/build.sh

错误,

'app' is not recognized...

or,

bash app/build/build.sh

错误,

'bash' is not recognized...

知道我错过了什么吗?

这里是截屏,


当前回答

我个人使用这个批处理文件,但它确实需要安装CygWin(如所示)。 只需将. sh文件类型与这个批处理文件(在我的例子中是ExecSH.BAT)关联起来,然后双击. sh,它就会运行。

@echo off
setlocal

if not exist "%~dpn1.sh" echo Script "%~dpn1.sh" not found & goto :eof

set _CYGBIN=C:\cygwin64\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & goto :eof

:: Resolve ___.sh to /cygdrive based *nix path and store in %_CYGSCRIPT%
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%~dpn1.sh"') do set _CYGSCRIPT=%%A
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%CD%"') do set _CYGPATH=%%A

:: Throw away temporary env vars and invoke script, passing any args that were passed to us
endlocal & %_CYGBIN%\mintty.exe -e /bin/bash -l -c 'cd %_CYGPATH%;  %_CYGSCRIPT% %*'

基于这个原创作品。

其他回答

我使用Windows 10 Bash shell,也就是Linux子系统,也就是Windows 10中的Ubuntu

我个人使用这个批处理文件,但它确实需要安装CygWin(如所示)。 只需将. sh文件类型与这个批处理文件(在我的例子中是ExecSH.BAT)关联起来,然后双击. sh,它就会运行。

@echo off
setlocal

if not exist "%~dpn1.sh" echo Script "%~dpn1.sh" not found & goto :eof

set _CYGBIN=C:\cygwin64\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & goto :eof

:: Resolve ___.sh to /cygdrive based *nix path and store in %_CYGSCRIPT%
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%~dpn1.sh"') do set _CYGSCRIPT=%%A
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%CD%"') do set _CYGPATH=%%A

:: Throw away temporary env vars and invoke script, passing any args that were passed to us
endlocal & %_CYGBIN%\mintty.exe -e /bin/bash -l -c 'cd %_CYGPATH%;  %_CYGSCRIPT% %*'

基于这个原创作品。

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

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

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

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

只要安装git,然后通过bash <name.sh>"运行你的.sh文件。

你也可以使用cder

Cmder是一个纯粹出于对Windows上缺少良好的控制台模拟器的不满而创建的软件包。它是基于惊人的软件,并与Monokai配色方案和自定义提示布局,从一开始看起来性感

cmder.net