orientée objet shell pour linux?
Est-il rien de semblable à Microsoft Powershell (un shell orienté objet bâti sur l' .NET framework) pour Linux (peut-être bâtie sur l'île de Java, GObject, ou de son propre type d'objet/rien)?
edit: surtout si semblable à bash ou powershell ou cmd etc. syntaxe (="standard" syntaxe shell)
- Je ne pense pas que cela serait utile.
- Je l'ai fait "touch foo.ext; cvs add foo.ext, $EDITOR foo.ext" assez souvent de penser à une manipulation de la carte ou jQueryesque sémantique pourrait être intéressant. Oui, "pour l'op en contact "cvs ajouter" $EDITOR; ne $op foo.ext, fait" pourrait fonctionner, mais il est plus saisissant que de le faire manuellement.
- double possible de quel objet, à base de coquilles sont là? et quelqu'un Peut-il recommander une bonne alternative moderne à bash?
function whatever { touch "$1" ; cvs add "$1" ; $EDITOR "$1" ; }
n'est pas suffisant pour vous? Si vous avez vraiment envie de le faire de la manière que vous décrivez bien sûr, vous pouvez employer la fonction eval.- voir aussi unix.stackexchange.com/questions/4495/...
- C'est la bataille entre BASH'ers vs PowerShell croyants.
Vous devez vous connecter pour publier un commentaire.
Python. Pas de blague.
Les langages de script sont les langages de script, Python et est particulièrement agréable que beaucoup de gens trouvent très accessible.
os.listdir('.')
quelqu'un?), et la saisie semi-automatique n'est pas la même si elle est activée. Mais je suis d'accord avec Marko, pour le plus grand scripts, 'shell' n'est pas agréable de langage de programmation.Même si cette question est assez vieux, je pense que sa vaut la peine de mentionner que, en août 2016 Microsoft Powershell open-source et multi-plateforme. Instructions pour l'installation sont sur github.
https://github.com/PowerShell/PowerShell
Perl, Python et Ruby
Ok, je suis sûr que vous le savez déjà, mais il fallait quelqu'un pour le dire.
Perl est le plus ancien et le plus populaire.
Si vous aimez les objets, vous aurez certainement l'amour de Rubis. Il a un complexe d'objet système inspiré de Smalltalk.
Python a ce cool structure en bloc par retrait de la syntaxe.
Unix est une mine d'or de pointe des outils de script...
Hotwire
NodeJS peut le faire, en fait, c'est l'un des échantillons inclus dans le téléchargement. L'utiliser de manière interactive, ou (probablement plus utile) écrire des scripts shell en JavaScript.
Par exemple:
...mais c'est juste l'interface de haut niveau que les tampons de toutes les données de sortie pour vous, etc. Vous pouvez obtenir beaucoup plus vers le bas et sale que cela, si vous le souhaitez.
NodeJS prend l'asynchronicité comme l'état normal de ses affaires, et donc, si vous voulez un "traditionnel" shell script, vous pouvez trouver ce n'est pas un bon match car il n'a pas (à ce jour, autant que je sache) offre une version synchrone de
exec
. De manière ad hoc de la série de série de déclarations devient un exercice rappels:...mais bien sûr, vous pouvez créer une fonction qui gère pour vous et prend (dire) un tableau séquentiel des instructions à exécuter (et de l'installer comme un module via le Nœud du module sysstem). Ainsi, par exemple:
Vous devriez repenser pourquoi il est que vous pensez que vous avez besoin d'un shell orienté objet. Cela dit, si vous êtes prêt à essayer bizarre de coquilles que vous ne pouvez pas vous tromper avec zoid. Contrairement à beaucoup d'autres suggestions je vois ici, c'est vraiment un shell. D'autre part, si vous ne connaissez pas ou n'avez pas, comme Perl, vous n'aurez probablement pas être heureux.
jq n'est pas tout à fait un shell orienté objet, mais il offre certains des avantages de l'orienté objet coquilles peuvent avoir; je l'utilise beaucoup, en collaboration avec les scripts shell, pour de telles tâches.