如何在Windows 7命令提示符下运行.sh ?当我试着在里面运行这一行的时候总是会得到这个错误,
app/build/build.sh
错误,
'app' is not recognized...
or,
bash app/build/build.sh
错误,
'bash' is not recognized...
知道我错过了什么吗?
这里是截屏,
如何在Windows 7命令提示符下运行.sh ?当我试着在里面运行这一行的时候总是会得到这个错误,
app/build/build.sh
错误,
'app' is not recognized...
or,
bash app/build/build.sh
错误,
'bash' is not recognized...
知道我错过了什么吗?
这里是截屏,
当前回答
Windows中的新功能-在Windows的ubuntu上运行bash -在Build会议后的Windows 10“Insiders”版本中可用:
https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows/
其他回答
我使用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% %*'
基于这个原创作品。
错误消息表明您还没有安装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,但由于上面概述的情况,它不太可能工作。
在Windows操作系统下安装github工具。在安装Git的环境变量“System”中设置如下路径。
<程序文件在C:\>\Git\bin
<程序文件在C:\>\Git\usr\bin
在cmd窗口中键入'sh'重定向到Bourne shell并在终端中运行您的命令。
运行.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