Unix Unix orienté object avec au less les capacités LINQ?

Eh bien, "au less" est plutôt – ce serait parfait 😉 Il y a question similaire – Shell orienté object pour * nix . Pour moi, la similitude avec bash n'est pas un problème.

Je voudrais avoir quelques PO simple plus LINQ. Pour l'instant, je ne suis conscient de http://www.scsh.net/ mais à cause de la syntaxe est un peu exagéré.

Peut-être que je vais vous montrer par l'exemple ce que je veux dire:

run("ls ./").foreach(it => println(it.filesize)) 

ou

 run("find -r *.jpg") \ .filter(it => it.datetime<today.adddays(-2)) \ .foreach(it => run("gimp ${it.filename}")) 

Y a-t-il quelque chose de plus proche de cette "coquille de rêve" que scsh?

Pourquoi est-ce que je request? Parce que plus j'écris de programmes, plus je dérive vers les langages fonctionnels (C ++ -> C # + LINQ -> Scala -? -> Clojure), et quand hier je devais écrire simple + boucle d'printing en bash c'était douloureux . Un homme devient facilement gâté avec toutes les choses fonctionnelles ;-D .

rush semble similaire, par exemple vous permettant d'écrire

 processes.filter(:cmdline => /mongrel_rails/).kill 

ou

 myproj['**/*.rb'].search(/^\s*class/).lines.size 

mais il semble plutôt mort . En fin de count, j'utiliserais simplement un langage de script pour les tâches shell (au lieu de l'inverse), par exemple comme expliqué dans "Utilisation de Python pour créer des outils de command line UNIX" .

( Edit, il y a aussi un shell orienté object en développement actif, bien qu'il diffère beaucoup du concept de rush , oh .)

Edit2 Juste tombé sur pbs, un wrapper Python rendant l'utilisation de Python pour les tâches de type shell plus direct .

Vous devriez écrire vos propres objects pour le truc LINQ, mais étendre le bash à OOP est assez facile. Découvrez https://github.com/uudruid74/bashTheObjects