2017-02-21 2 views
-3

Есть ли инструмент, который переводит пакет Windows в файлы bash и наоборот?Скрипты для кроссплатформенной оболочки

+1

Почему бы не использовать язык, который существует на всех платформах? Python, Perl и т. Д. – choroba

+0

Насколько я знаю, этот язык не установлен на компьютере пользователя по умолчанию - по крайней мере, на окнах. Я разрабатываю автономное приложение для кросс-браузера, которое должно запускать несколько команд оболочки. –

+0

@JanViehweger: Я бы не предполагал, что * какой-либо язык будет установлен ** по умолчанию ** в Windows, если вы не считаете Windows Batch Scripts в качестве языка. Вы можете разумно предположить, что JVM доступен повсюду, поэтому вы можете использовать любой язык, на котором создается Java Bytecode - Ruby, Python, Scala, даже Java. Другая возможность заключается в компиляции машинного кода, поэтому у вас есть один общий источник, но его необходимо скомпилировать для каждой целевой платформы. Последняя возможность - это язык, на котором существует реализация, которая может быть легко распространена с вашим исходным кодом (например, gawk или bash). – user1934428

ответ

2

Да, возможно кросс-платформенное кодирование.

cross-platform scripting for windows, Linux, MacOS X

PowerShell является кросс-платформенной (Windows, Linux, Mac):

Смотрите эти ссылки

(да, я знаю, что ссылки, как правило, с неодобрением, но это очень общий вопрос!)

https://www.google.co.uk/search?q=powershell+cross+platform+scripting

cross-platform scripting for windows, Linux, MacOS X

https://blogs.msdn.microsoft.com/dotnet/2016/08/18/powershell-is-now-open-source-and-cross-platform/

https://blogs.msdn.microsoft.com/scxplat/2009/12/11/cross-platform-powershell-scripts-released/

https://github.com/PowerShell/PowerShell

Perl также кросс-платформенный

How to write cross-platform perl code

Python может быть, пока не используются ОС конкретных библиотек.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки.Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/15285107) – SOFe

+0

Согласен, @PEMapModder, но, как уже упоминалось, вопрос неясен. Некоторые из ссылок относятся к СА. Наверное, я не собираюсь писать сценарии с кросс-платформой? – TechSpud

+0

Если вопрос слишком расплывчатый или дублирует другие вопросы о SO, отметьте вопрос как дубликат или «слишком широкий». – SOFe

0

Для некоторых стандартных операций это простая задача, потому что некоторые команды выполняют одно и то же задание (например, все больше и меньше, cd, ipconfig и ifconfig, md и mkdir, ...). Поэтому для базового прототипа вам просто нужно заменить некоторые команды.

Но большинство команд сильно различаются по параметрам и т. Д. Таким образом, это не будет тяжелая работа, но очень трудоемкая, чтобы посмотреть на каждую команду оболочки, включая разрешенные параметры и ожидаемые значения параметров, и «перевести», их в соответствующую форму для другой ОС.

Я думаю, что есть два основных варианта для вашей задачи:

  1. установить Баш на Windows 10 (если вы уже перешли к нему), который предлагает вам основную Баш оболочку, так что вы можете использовать команды Linux на окнах
  2. использование PowerShell и установить его на Mac и Linux, а также

Другой вариант заключается в использовании интерпретируемых языков программирования, которые могут работать на обеих платформах (например, Perl или Python может сделать эту работу достаточно хорошо)

Смежные вопросы