Мне кажется, вы жонглируете на грани противоречия: вы хотели бы получить независимость от платформы (похвально), но также "близость к специфике ОС".
Если, однако, вы придаете немного больше значения независимости от платформы, я рассматривал идею использования groovy (более дружественного к java родственника ruby) для написания сценариев общего назначения. Когда вам это нужно, вы получаете специфическое для ОС поведение, вызывая команды оболочки ОС.
Моя мотивация немного другая: я нахожу код groovy более надежным, чем код bash, хотя мне тоже нужен хороший многоплатформенный инструмент для написания сценариев для проекта, который я разрабатываю.
Например, Ruby может управлять некоторыми специфическими для Windows вещами
Конечно, может, и в блоге Ruby on Windows вы можете найти много примеров, также есть глава в книге Pickaxe и в скромной книге.
Я большой поклонник Lua :
Синтаксис отдаленно похож на Паскаль и хорошо работает в сценариях.
Превосходное соотношение мощности и веса. Превосходная инженерия. Очень хороший дизайн.
Чрезвычайно переносимость на любую платформу с компилятором ANSI C.
Поддержка графического интерфейса через wxLua и другие привязки
Некоторая поддержка для сокрытия различий ОС в общих задачах, например, надстройка файловой системы Lua
Базовая система и библиотеки достаточно просты, чтобы вы могли понять все из того, что вы используете, но по-прежнему имеют отличные возможности по сравнению с bash / bat. Выразительная сила сравнима с Python или Ruby.
Вы не перегружены библиотеками и фреймворками, что может быть плюсом или минусом.
Есть отличная книга: Роберто Иерусалимши Программирование на Lua ; предыдущее издание можно получить бесплатно в Интернете .
Производительность превосходит tcl, perl, python, ruby
Для еще большей производительности на оборудовании x86 существует LuaJIT.
Наконец, и это козырёк в дыре: если вы столкнетесь с какой-либо проблемой, связанной с платформой, легко написать код C для конкретной платформы и динамически загрузить его в сценарий Lua. . Lua был разработан с учетом этой задачи и отлично с ней справляется. Вы также можете легко погрузиться в C для повышения производительности (например, вычислить контрольную сумму MD5).
В течение последних 3-5 лет я постепенно переносил скрипты из bash / ksh / awk / sed / grep / perl в Lua. Я был очень доволен результатами.
Вы можете писать свои сценарии на Tcl .
синтаксис прост и ближе к тому, что вы ожидаете от скрипта;
он кроссплатформенный и будет работать на всех основных платформах;
вы можете легко создавать простые графические интерфейсы для ваших скриптов в Tk, которые также будут работать везде и использовать собственные элементы управления;
для функций, специфичных для Windows, вы можете использовать Twapi (привязки Win32 API ).
вы можете установить Tclkit, который представляет собой отдельный файл, представляющий собой весь дистрибутив Tcl. Здесь нет длительного процесса установки, скрытых файлов или загадочных каталогов;