Shell Unix orientado a objetos com pelo menos recursos LINQ?

6

Bem, "pelo menos" é bastante - seria perfeito ;-) Há uma pergunta semelhante - Shell orientado a objetos para * nix . Para mim, a semelhança com o bash não é problema.

Eu gostaria de ter alguns OOP simples mais LINQ. Por enquanto, estou apenas ciente do link , mas por causa da sintaxe é um pouco exagerado.

Talvez eu mostre a você, por exemplo, o que quero dizer:

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}"))

Existe algo mais próximo deste "dream shell" do que o scsh?

Por que estou perguntando? Como quanto mais programas eu escrevo, mais eu estou migrando para linguagens funcionais (C ++ - > C # + LINQ - > Scala -? - > Clojure), e quando ontem eu tive que escrever um loop find + print simples no bash Foi doloroso. Um homem fica facilmente estragado com todas as coisas funcionais ;-D .

    
por greenoldman 30.01.2012 / 13:31

2 respostas

5

rush parece semelhante, por ex. permitindo que você escreva

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

ou

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

mas parece inoperante . No final, eu iria com apenas usando alguma linguagem de script para tarefas shell (em vez da outra maneira 'round'), por exemplo, conforme explicado em " Usando o Python para criar ferramentas de linha de comando do UNIX ".

( Editar há também um shell orientado a objetos em desenvolvimento ativo, embora muito diferente do conceito rush s, oh .)

Edit2 Acabamos de encontrar pbs, um invólucro do Python que faz uso do Python para tarefas mais diretas .

    
por 30.01.2012 / 15:28
2

Você teria que escrever seus próprios objetos para o material do LINQ, mas expandir o bash para o OOP é muito fácil. Confira o link

    
por 13.04.2015 / 08:35

Tags