1

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

Например:

msys myscript.sh

Или же

c:\temp\msys.exe myscript.sh

Является ли это возможным? Как я хотел бы, чтобы пакетный файл выполнял сценарии .sh на одной из моих систем.

1 ответ1

1

msys.exe является одним из нескольких портов инструментов командной строки Unix. Я не использовал его, но msys.exe является установочным пакетом, поэтому вам нужно запустить и настроить его. Если вы хотите, чтобы инструменты были легко доступны, а установщик этого не делает, вам нужно будет добавить установленный каталог в переменную PATH .

Для интерпретации сценария оболочки вам нужен bash , поэтому в вашем примере вы должны набрать:

bash -c myscript.exe

Если все ваши скрипты заканчиваются на .sh (в Unix нет необходимости в конкретном расширении, и часто его нет), вы можете связать расширение .sh с bash , так что вы можете просто набрать или дважды щелкнуть скрипт название.

В качестве альтернативы, вы можете запустить bash интерактивно вместо cmd и тогда все ваши команды будут работать так же, как в Unix.

Две точки, чтобы посмотреть:-

  • Если сценарии импортированы из Unix, они будут интерпретированы правильно, но не будут работать, если они вызывают команды или ресурсы, которые либо не существуют в Windows, либо имеют другие функции.
  • Unix использует / в качестве разделителя каталогов и - для обозначения параметров команды, тогда как Windows использует \ и / . Некоторые порты команд Unix пытаются приспособить оба стиля, но поскольку / имеет два разных значения, это обязательно плохой компромисс. Я понятия не имею, если msys пытается это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .