Как выполнить .sh файл в Windows?

Когда я пытаюсь выполнить файл (name.sh) в командной строке командой./name.sh, я получаю ошибку что:

"." не распознан как внутренняя или внешняя команда, действующий или пакетный файл

помогите мне выполнить .sh файл

67
задан 30.03.2010, 17:25

5 ответов

Вы находитесь в Windows CMD.EXE (из сообщения об ошибке). Это использует другой синтаксис для выполнения команд. Необходимо будет использовать sh name.sh, предположение, что у Вас есть Cygwin или подобный установленный.

Для разъяснения Windows не имеет встроенной утилиты для поддержки .sh файлов. Для выполнения такого необходимо будет установить стороннюю программу, такую как Cygwin.

74
ответ дан 07.12.2019, 08:14

хорошо, там является МНОГО неправильным с этим - отбрасывают #!/bin/sh и изменяют расширение летучей мыши, и это могло бы работать с еще многие, фиксирует. Затем можно просто вызвать его его именем файла также.

Синтаксис сценария оболочки Unix и пакетный файл окон arn't слишком подобный. cygwin или загрузка бездельничания с unxutils мог бы сделать что-то, что будет работать в обоих, но если Вы не будете АБСОЛЮТНО уверены, что среда всегда является тем же, это не стоит головной боли

0
ответ дан 07.12.2019, 08:14

Возможно, что проблема на самом деле в файле name.sh - Вы пытаетесь использовать . команда, но это пытается выполнить своего рода оболочку (например, csh, Я думаю), в котором это не допустимая команда.

Так: делает name.sh запустите с корректного #!/bin/sh (если Вы на самом деле пытаетесь работать sh)?

0
ответ дан 07.12.2019, 08:14

Вы пытаетесь выполнить команду Linux в Windows Command Prompt.

На Linux наклонная черта вправо является разделителем пути. В Windows обратная косая черта является разделителем пути, и наклонная черта вправо обычно указывает на аргумент.

Поэтому Windows думает, что Вы пытаетесь выполнить названную "." команду и анализируете ее аргумент "/name.sh". Корректная конвенция была бы ".\name.sh". Дополнительно Windows будет автоматически искать текущий каталог Вашу команду, таким образом, Вы могли просто ввести "name.sh".

Следующая проблема, с которой Вы столкнетесь, состоит в том, что Windows не знает, каков sh сценарий, снова это - вещь Linux. Вы могли решить это путем установки Cygwin, если Вы действительно хотите или должны запустить sh скрипт.

Однако судя одним из Ваших предыдущих комментариев Вы могли точно также переименовать сценарий к name.bat и удалить "#!/bin/sh" строка. Теперь у Вас есть Пакетный файл, который должен понять Windows. Можно читать больше о пакетных файлах здесь.

13
ответ дан 07.12.2019, 08:14

Кроме того, Вы могли обратиться к темной стороне и установить Linux. От подсказки:

sh runide.sh

или

sudo sh runide.sh

Ваша программа будет работать, и у Вас будет лучшая система также.

12
ответ дан 07.12.2019, 08:14

Теги

Похожие вопросы