まあ、「少なくとも」はより正確です。完璧になります;-)同様の質問がありました -* nix用のオブジェクト指向シェル。私にとっては、bashとの類似性は問題ではありません。
私は簡単なOOPとLINQが欲しい。現在は私だけ知っているhttp://www.scsh.net/しかし、構文のために少し過剰です。
たとえば、私が意味するものを見てみましょう。
run("ls ./").foreach(it => println(it.filesize))
または
run("find -r *.jpg") \
.filter(it => it.datetime<today.adddays(-2)) \
.foreach(it => run("gimp ${it.filename}"))
scshよりもこの「夢の殻」に近いものはありますか?
私はなぜ尋ねますか?プログラミングが多ければ多いほど、機能言語(C++ - > C#+ LINQ - > Scala -? - > Clojure)に頼ることになり、昨日はbashで簡単な検索+印刷ループを書く必要がありました。とても痛いです。男性は機能的なすべてに簡単に壊れます;-D。
答え1
rush
似ているようです。たとえば、次のように書くことができます。
processes.filter(:cmdline => /mongrel_rails/).kill
または
myproj['**/*.rb'].search(/^\s*class/).lines.size
しかし、かなり見える死んだ。結局、私はシェル操作を実行するために(その逆ではなく)スクリプト言語を使用することにしました。「Pythonを使用したUNIXコマンドラインツールの作成」。
(編集するrush
sの概念とは大きく異なりますが、活発に開発中のオブジェクト指向シェルもあります。oh
.)
編集2偶然発見したのにpbs、Pythonを使用してシェルと同様の操作をより簡単に実行できるPythonラッパー。
答え2
LINQ関連のオブジェクトを直接作成する必要がありますが、bashをOOPに拡張するのは非常に簡単です。確認するhttps://github.com/uudruid74/bashTheObjects