Файлы .sh из командной строки?

Файлы .sh из командной строки?

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

Например:

msys myscript.sh

Или

c:\temp\msys.exe myscript.sh

Возможно ли это? Поскольку я хотел бы создать пакетный файл, запускающий .sh скрипты на одной из моих систем.

решение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пытается ли это сделать.

Связанный контент