Как это сделать run.sh в командной строке Windows?


как я могу запустить .sh в командной строке Windows 7? Я всегда получаю эту ошибку, когда я пытаюсь запустить эту строку в нем,

app/build/build.sh

ошибка

'app' is not recognized...

или

bash app/build/build.sh

ошибка

'bash' is not recognized...

есть идеи, что я пропустил?

вот скриншот ,

7 66

7 ответов:

сообщение об ошибке указывает на то, что вы не установили bash, или это не в ваших PATH.

топ Google Хит является http://win-bash.sourceforge.net/ но вы также должны понимать, что большинство сценариев Bash ожидают Unix-подобную среду; поэтому просто установка Bash, вероятно, вряд ли позволит вам запустить сценарий, который вы нашли в сети, если он не был специально разработан для этого конкретного сценария использования. Обычное решение, которое https://www.cygwin.com/ но есть много возможных альтернатив, в зависимости от того, что именно вы хотите достичь.

если Windows не является центральным для вашего сценария использования, установка бесплатной ОС (возможно, виртуализированной) может быть самым простым способом.

второе сообщение об ошибке связано с тем, что Windows номинально принимает прямую косую черту в качестве разделителя каталогов, но в этом контексте она интерпретируется как разделитель коммутаторов. В других слова, Windows анализирует вашу командную строку как app /build /build.sh (или, перефразируя с Unix option conventions,app --build --build.sh). Вы могли бы попробовать app\build\build.sh но это вряд ли сработает, из-за обстоятельств, изложенных выше.

установить GIT. Во время установки GIT добавьте GIT Bash в контекстное меню windows, выбрав его опцию. После установки щелкните правой кнопкой мыши в папке выберите GIT Bash Here (см. прилагаемый рисунок) и используйте свою команду sh, например:

sh test.sh

enter image description here

наиболее распространенный способ запуска .sh файл использует ш:

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

другой хороший вариант-это установка программа

на Windows the home находится в:

C:\cygwin64\home\[user]

например, я исполняю свой С помощью Баш как:

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

вы можете использовать также cmder

Cmder-это программный пакет, созданный из чистого разочарования по поводу отсутствия хороших эмуляторов консоли в Windows. Он основан на удивительном программном обеспечении и приправлен цветовой схемой Monokai и пользовательским макетом подсказки, выглядящим сексуально с самого начала

Screenshot

cmder.net

в Windows 10 Anniversary Update еще проще запускать команды оболочки в / с bash на ubuntu в windows

Я пытался установить свой регион для моего маршрутизатора X-wrt R7000 netgear, я обнаружил, что для меня работает следующее, используя bash на ubuntu в windows, вам нужно включить подсистему, найденную в функциях windows, и режим dev на

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

новая функция в Windows-запуск bash на ubuntu на windows-доступно в Windows 10 "инсайдеры" строит после конференции сборки:

https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows/

лично я использовал этот пакетный файл, но он требует установки CygWin (64-бит, как показано на рисунке). Просто ассоциировать тип файла .Ш. с этой пакетник (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% %*'

на основе этой оригинальная работа.