Question script multi-plateforme pour Windows, Linux, MacOS X [fermé]


Je recherche des scripts multi-plateformes (langage) pour Windows, Linux, MacOS X. Je suis fatigué de .bat / bash.

Je voudrais faire des choses comme par exemple "lock workstation" à la connexion automatique (je l'ai eu dans X-Window mais la solution était plutôt moche; maintenant, je voudrais ça sur MS Windows et pas si moche :-)) .
Généralement: automatiser les tâches.

Ou serais-je mieux avec Windows Scripting Host?
On pense aussi à PowerShell, mais cela ne semble être pour Windows que pour moi. Des langages tels que Python, Ruby, (Java?) Peuvent-ils interagir (élégamment? Judicieusement?) Avec WSH?

On pense également à des choses comme DBUS, DCOM, etc.

Actuellement, j'utilise un mélange de Java, .bat, bash, Ruby, Scala; un peu de VBA pour Excel. Ce qui devient parfois moche.

Je voudrais une solution générale multi-plateforme avec / utilisant des parties natives proches des spécificités du système d'exploitation. Comme par exemple Ruby pilotant des trucs spécifiques à Windows (pour deviner).
Qu'est ce que tu utilises?
TIA


37
2018-04-14 12:15


origine


Réponses:


Je pense que vous jonglez au bord de la contradiction: vous voudriez être indépendant de la plate-forme (louable) mais aussi «proche des spécificités de l'OS».

Si, toutefois, vous mettez un peu plus l'accent sur l'indépendance de la plate-forme, j'ai eu l'idée d'utiliser groovy (un parent de Ruby plus convivial pour Java) pour les scripts généraux. Lorsque vous en avez besoin, vous obtenez un comportement spécifique au système d'exploitation en appelant les commandes du shell du système d'exploitation.

Ma motivation est un peu différente: je trouve que le code groovy est plus robuste que celui de bash, bien que moi aussi j'aurai besoin d'un bon outil de script multi-plateforme pour un projet que je développe.


3
2018-04-14 12:21



Je suis un grand fan de Lua:

  • La syntaxe est vaguement proche de celle de Pascal et fonctionne bien dans les scripts.

  • Superbe rapport poids / puissance. Superbe ingénierie. Très bon design

  • Extrêmement portable à toute plate-forme avec un compilateur ANSI C.

  • Prise en charge de l'interface graphique via wxLua et d'autres liaisons

  • Certains supports pour masquer les différences de système d'exploitation dans les tâches courantes, par exemple le module complémentaire Lua File System

  • Le système de base et les bibliothèques sont assez simples pour que vous puissiez comprendre tout de ce que vous utilisez, mais ont toujours un excellent effet de levier par rapport à bash / bat. Le pouvoir expressif est comparable à Python ou Ruby.

  • Vous n'êtes pas submergé par les bibliothèques et les frameworks, qui peuvent être un plus ou un moins.

  • Il y a un excellent livre: Roberto Ierusalimschy Programmation en Lua; vous pouvez obtenir le édition précédente en ligne gratuit.

  • Performance bat tcl, perl, python, ruby

  • Pour des performances encore plus rapides sur le matériel x86, il existe LuaJIT.

  • Enfin, et ceci est l'as dans le trou: si vous rencontrez un problème spécifique à une plate-forme, c'est facile écrire du code C spécifique à la plate-forme et le charger dynamiquement dans un script Lua. Lua a été conçu avec cette tâche en tête et le fait extrêmement bien. Vous pouvez également puiser facilement dans C pour la performance (par exemple, calculer la somme de contrôle MD5).

Au cours des 3 à 5 dernières années, j'ai migré progressivement les scripts de bash / ksh / awk / sed / grep / perl vers Lua. J'ai été très heureux avec les résultats.


16
2018-04-15 04:26



Perl et Python sont tous deux disponibles sur presque toutes les plates-formes


6
2018-04-14 13:29



Tu pourrais essayer Batsh

Batsh est un langage de programmation simple qui compile en Bash et Windows Batch. Il vous permet d'écrire votre script une seule fois sur toutes les plates-formes sans dépendance supplémentaire.


5
2018-02-18 07:36



Vous pourriez écrire vos scripts dans Tcl.

  • la syntaxe est simple et plus proche de ce que vous attendez d'un script;

  • il est multi-plateforme et fonctionnera sur toutes les principales plates-formes;

  • vous pouvez facilement créer des interfaces graphiques simples pour vos scripts dans Tk, qui fonctionneront également partout et utiliseront des contrôles natifs;

  • pour les fonctions spécifiques à Windows, vous pouvez utiliser Twapi (API Win32 liaisons).

  • vous pouvez installer un Tclkit, qui est un fichier unique qui correspond à la distribution Tcl complète. Il n'y a pas de long processus d'installation ou de fichiers cachés ou de répertoires mystérieux;

    • vous pouvez facilement mettre un runtime linux, windows et mac sur un seul lecteur flash afin d'avoir toujours un interpréteur à portée de main, même s'il n'y en a pas un installé localement.

4
2018-04-14 12:38



Comme par exemple Ruby conduisant des choses spécifiques à Windows

Cela peut certainement et sur le Ruby on Windows blog vous pouvez trouver beaucoup d'exemples aussi il y a un chapitre dans le livre de pioche et dans le humble un.


2
2018-04-14 12:19



J'utiliserais C # avec Mono.


0
2017-08-25 10:40