我该如何在Windows 7命令提示符上运行.sh文件?每次尝试运行此代码时,我都会遇到这个错误:
app/build/build.sh
错误,
'app' is not recognized...
或者,
bash app/build/build.sh
错误,
'bash' is not recognized...
我错过了什么?
这是屏幕截图,
我该如何在Windows 7命令提示符上运行.sh文件?每次尝试运行此代码时,我都会遇到这个错误:
app/build/build.sh
错误,
'app' is not recognized...
或者,
bash app/build/build.sh
错误,
'bash' is not recognized...
我错过了什么?
这是屏幕截图,
安装GIT。在安装GIT期间,通过选择选项将GIT Bash添加到Windows上下文菜单中。安装完成后,在您的文件夹中右键单击,选择GIT Bash Here
(参见附图),然后像以下示例一样使用sh命令:
sh test.sh
sh.exe
的路径添加到PATH系统变量中。在我的情况下,路径是:c:\Program Files\Git\bin
。然后从PowerShell运行sh .\script.sh
。 - elshevctrl-ins
和shift-ins
。 - Nam G VU错误信息表明您尚未安装 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
命令。 - user2357112sh
命令。 - Joel Ellis你也可以使用Cmder
Cmder是一个软件包,由于Windows上缺乏好的终端模拟器而产生的纯粹的沮丧。它基于惊人的软件,并加入了Monokai颜色方案和自定义提示布局,从一开始就看起来非常酷。
cmd
的替代品。 - tripleeeGitBash
工具,并将以下路径添加到系统环境变量中,以完成Git的安装。
<C:\ 中的Program Files>\Git\bin
在<C:\ 中的Program Files>\Git\usr\bin
cmd
窗口中输入 'sh' 以进入 Bourne shell 并在终端中运行您的命令。ssh admin@192.168.1.1 < /mnt/c/ccode-eu.sh
只需安装 Git 并使用 "bash <name.sh>" 命令运行您的 .sh 文件。
我个人使用这个批处理文件,但是需要已安装CygWin(64位如图所示)。 只需将文件类型.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% %*'
Based on this original work.
Windows的新功能 - 可以在Windows 10“Insiders”版本中运行Ubuntu上的Bash - 这个功能在Build会议之后发布:
https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows/
bash
运行sh
文件呢?如果我尝试这样做,窗口会闪烁并消失。如果我将文件拖放到已打开的bash窗口中,它会显示路径未找到(因为它使用不同的约定)。 - m93a
.sh
文件的唯一方法。 - ha9u63a7