1

Есть ли способ заставить файлы скриптов Windows (BAT) работать на Unix-машине? Как, например, импорт функции или библиотеки, которая распознается только в ОС Unix, но не работает при запуске в Windows.

ИЛИ можно написать оба набора команд в одном файле и сделать что-то вроде этого:

If OS = 'Windows' then execute between lines A and B
else execute between lines C and D

2 ответа2

1

Вы не можете запускать BAT-скрипт в UNIX/Linux. Но вы можете попробовать Wine:

Wine (изначально аббревиатура "Wine Is Not the Emulator") - это уровень совместимости, позволяющий запускать приложения Windows в нескольких POSIX-совместимых операционных системах.

Вы можете скачать установщики Wine для нескольких дистрибутивов Linux и BSD и для Solaris здесь (вам, однако, нужно будет скомпилировать исходный код для других версий UNIX).

После установки и настройки Wine скопируйте скрипт BAT на свой компьютер UNIX/Linux и запустите его следующим образом (с http://forum.winehq.org/viewtopic.php?t=8795):

# wine cmd < path/to/your/file.bat
# wine start path/to/your/file.bat
# wine cmd /c path/to/your/file.bat

Обратите внимание, что хотя Wine будет делать все возможное для выполнения сценариев, существуют проблемы переносимости, такие как регистр символов в файловой системе, имена путей, проблемы кодирования текста и т.д., Которые могут привести к поломке.

Вот почему я бы рекомендовал вам использовать Wine для устаревших скриптов. Новые сценарии лучше всего написаны на независимом от платформы языке, таком как Perl или Python.

0

Существует множество альтернативных языков сценариев, которые работают в Windows, UNIX, Linux и других ОС.

Perl , вероятно, будет лучшим выбором. Perl - это универсальный интерпретируемый динамический язык программирования высокого уровня. Perl может делать практически все, что связано с ОС, не говоря уже о всеобъемлющей сети архивов Perl (CPAN). CPAN - это архив более 25 000 дистрибутивов программного обеспечения, написанных на Perl, а также документация для него. Есть "плагины" для всего, что вы можете себе представить. Интеграция со всеми основными базами данных, популярными программными продуктами и многим другим.

Python, Ruby, Lua и другие примеры.

Другое возможное решение - запуск сценариев UNIX/Linux в Windows. Это может быть достигнуто с Cygwin. Короче говоря, Cygwin - это набор инструментов, которые обеспечивают среду для Windows в стиле Linux.

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