Подтвердить что ты не робот

Запустите bash script из Windows PowerShell

В cygwin я мог бы просто делать. / script.sh args, но это открывает файл script в блокноте в PowerShell.

Что мне нужно сделать, чтобы выполнить его?

4b9b3361

Ответ 1

Вы должны поместить аргумент script в качестве оболочки * NIX, которую вы запускаете, что эквивалентно * NIXish

sh myscriptfile

Ответ 2

Теперь в Windows 10 появилось "собственное" решение, после включения Bash в Windows вы можете ввести оболочку Bash, набрав bash: Bash в Windows

Вы можете запустить Bash script как bash ./script.sh, но имейте в виду, что диск C находится в /mnt/c, а внешние жесткие диски не монтируются. Поэтому вам может потребоваться немного изменить ваш script, чтобы он был совместим с Windows.

Кроме того, даже в качестве root вы все равно можете получить разрешение на перемещение файлов в /mnt, но у вас есть полная мощность root в файловой системе /.

Также убедитесь, что ваша оболочка script отформатирована в стиле Unix, или могут быть ошибки. Пример  script

Ответ 3

Если вы добавите расширение .SH в переменную среды PATHEXT, вы сможете запускать сценарии оболочки из PowerShell, используя только имя script с аргументами:

PS> .\script.sh args

Если вы храните свои скрипты в каталоге, включенном в переменную среды PATH, вы можете запустить его из любого места и опустить расширение и путь:

PS> script args

Примечание: sh.exe или другая оболочка * nix должны быть связаны с расширением .sh.